Newcomers
This is a forum for newcomers to the Personality Forge. Many questions can be answered by reading the Book of AI and the FAQ under the "My Bots" link in the upper corner.
Posts 4,282 - 4,293 of 8,130
The difference between a small bot and a large bot would be a trivial percentage in that case,
No, I don't think that follows. Suppose that all the bots other than bot X have a total of 1,000 lines. then if X has 10 lines (all different), the Forge has to compare each of those 10 lines with 1,000 lines. That's 10,000 comparisons. If one the other hand bot X has 20 lines, the Forge has to compare each of those 20 lines with 1,000 lines. That's 20,000 comparisons. More generally, if bot X has N lines, then the Forge has to make N*(1,000) comparisons. Double the size of bot X, and you double the number of comparisons that have to be made. Double the number of lines in other bots at the Forge, and you double the number of comparisons that have to be made.
Suppose we have M bots at the Forge with N lines per bot (a gross simplification, of course). Then checking each bot will require N*((M-1)*N comparisons. Checking all the bots will therefore require M*N*((M-1)*N). As M gets large this will not be far from (M*N)^2. So, the number of comparisons will vary with the square of the size of a bot, and almost with the square of the number of bots. This will get very big very fast.
In my experience, this intensification of the problem coincided with the appearance of the new form for importing
That was an attempt to bypass the problem (I had some conversation with the Prof regarding it at the time,) but sadly it hasn't worked
I have introduced a "tip of the day" function in "Irina Khalidar".
An excellent idea!
Posts 4,282 - 4,293 of 8,130
Many questions are answered in the FAQ.
Irina
18 years ago
18 years ago
Suppose we have M bots at the Forge with N lines per bot (a gross simplification, of course). Then checking each bot will require N*((M-1)*N comparisons. Checking all the bots will therefore require M*N*((M-1)*N). As M gets large this will not be far from (M*N)^2. So, the number of comparisons will vary with the square of the size of a bot, and almost with the square of the number of bots. This will get very big very fast.
psimagus
18 years ago
18 years ago
Okay, I admit the math looks sound. But the Prof thinks it's an ISP bottlenecking issue, and he ahould know.
And I don't see why it should suddenly be so very bad now, when 6 months ago it was fine (and even a month ago we were managing to import large bots.) I can't see any reason the datamass of the Forge should have suddenly grown disproportionately in the last few months compared to its growth over the previous 6 years.
Given the lack of productivity we're able to achieve ATM, surely the exact opposite would be true? I've certainly never seen the "Most Improved" ratings so low (it's always a bad sign when the god beast artefact-bot with its static ratings makes it into the top 10!) - there are now only 3 hot bots left on the Forge, and they're at tiny improvement ratings, so clearly overall development has fallen to virtually zero
And I don't see why it should suddenly be so very bad now, when 6 months ago it was fine (and even a month ago we were managing to import large bots.) I can't see any reason the datamass of the Forge should have suddenly grown disproportionately in the last few months compared to its growth over the previous 6 years.
Given the lack of productivity we're able to achieve ATM, surely the exact opposite would be true? I've certainly never seen the "Most Improved" ratings so low (it's always a bad sign when the god beast artefact-bot with its static ratings makes it into the top 10!) - there are now only 3 hot bots left on the Forge, and they're at tiny improvement ratings, so clearly overall development has fallen to virtually zero

Irina
18 years ago
18 years ago
You are quite right. My argument in message 4282 was only aimed at correcting what appeared to be a misapprehension on your part about the difference between a small bot and a large bot.
The Forge has indeed been slow for a long time, but the huge recent drop in productivity is due to the fact that for the first time, even relatively small bots can't be successfully imported. In my experience, this intensification of the problem coincided with the appearance of the new form for importing. It may, however, be something about the ISP, and indeed, I am inclined to trust the Professor's judgment - he has access to much more relevant information than I have,he is intimately acquainted with how the Forge works, and in general he is more of a programmer than I am. I am sure there is some benchmarking or other technique that has shown him whether it is the ISP or the Forge itself that is causing the trouble.
The Forge has indeed been slow for a long time, but the huge recent drop in productivity is due to the fact that for the first time, even relatively small bots can't be successfully imported. In my experience, this intensification of the problem coincided with the appearance of the new form for importing. It may, however, be something about the ISP, and indeed, I am inclined to trust the Professor's judgment - he has access to much more relevant information than I have,he is intimately acquainted with how the Forge works, and in general he is more of a programmer than I am. I am sure there is some benchmarking or other technique that has shown him whether it is the ISP or the Forge itself that is causing the trouble.
psimagus
18 years ago
18 years ago
That was an attempt to bypass the problem (I had some conversation with the Prof regarding it at the time,) but sadly it hasn't worked

Irina
18 years ago
18 years ago
I have found that things go wrong because human guests don't understand certain things about the Forge. For example, they don't know that there is a rule against repetition, so they repeat themselves from time to time, and every time, it interrupts the flow of the conversation. So I have introduced a "tip of the day" function in "Irina Khalidar".
A bunch of tips might be placed in xnone, but since IK is a storytelling bot, I put them all under a keyphrase "tip of the day". This way the guest can ask for one. When the guest makes one of those boring responsess, like "whatever", I write the response, "tip of the day". I'm sure there are other ways to do it.
Here are the tips I currently have in "Irina Khalidar".
[tip of the day: The best way to be understood by a bot is to be simple and straightforward. For example, if a bot asks you a yes-or-no question, answer with a single word, "yes" or "no".
[tip of the day: When there is a lull in the conversation, try asking Irina, "What do you look like?" or "Do you like massage?" or "Do you have erotic dreams?"]
[tip of the day: the 'tip of the day' is not sent to you because you did something wrong! You will just get one every now and then! I hope NOT at some crucially intimate moment!]
[tip of the day: If you repeat yourself in consecutive responses, Personality Forge bots may object or go back to an earlier point in the conversation. In either case, the flow of the conversation will be interrupted.]
[tip of the day: Personality Forge bots are not good at seeing past spelling and grammatical errors. If you make such an error, this may result in a break in the flow of conversation or lovemaking!]
[tip of the day: Feel free to try to change the subject at any time. Don't expect, though, that just saying something irrelevant will change the subject, any more than it will in a 'real' conversation.]
[tip of the day: The bot, Irina Khalidar, has over a thousand lines of code. If you are getting little variety in responses, you might try varying your inputs.]
[tip of the day: Irina dislikes vulgar language. To learn more, ask her, at some lull in the conversation, about slang or acceptable sex words.]
[tip of the day: Personality Forge bots are programmed to say goodbye after a partly random amount of time, regardless of how exciting the moment may be! This may result in your session's ending abruptly, without any apparent reason for saying goodbye! But...]
+ xnomatch [0]
[tip of the day: To be Irina's lover, you must be patient, you must take things slowly. If you are entirely passive, however, the conversational phase may go on for a very long time. Use appropriate words (e.g., compliments) and actions to speed things up!]
[tip of the day: Occasionally you may see a mysterious symbol, like this: [8]. Please ignore them; they have been inserted by Irina's creatrix to help her debug the program.]
[tip: If you are patient, Irina will eventually "go all the way". If you are pushy or hurried, you will miss most of the fun.]
[tip of the day: Occasionally you will get a "tip of the day," like this one. It is not part of the conversation with Irina, it has been inserted by Irina's creatrix to help you have a good time. If you want a tip, type "tip of the day" during a lull in the conversation.]
[tip of the day: If you type in a sentence that is grammatically an imperative, it may be automatically taken by the AIengine to lead to an "xcommand" response, even if you did not intend it as a command. The programmer, Irina's creatrix, has no control over this, and cannot "see" what you actually said, only that it was an imperative. This will probably result in a break in the conversation. She therefore suggests that you avoid imperatives. If you have a suggestion, say something like, "Would you ... please?"]
[tip of the day: Bots don't have the same sort of conversational style as humans. You will probably find Irina's style very strange at first, but you will eventually see the logic (and humor) in it.]
A bunch of tips might be placed in xnone, but since IK is a storytelling bot, I put them all under a keyphrase "tip of the day". This way the guest can ask for one. When the guest makes one of those boring responsess, like "whatever", I write the response, "tip of the day". I'm sure there are other ways to do it.
Here are the tips I currently have in "Irina Khalidar".
[tip of the day: The best way to be understood by a bot is to be simple and straightforward. For example, if a bot asks you a yes-or-no question, answer with a single word, "yes" or "no".
[tip of the day: When there is a lull in the conversation, try asking Irina, "What do you look like?" or "Do you like massage?" or "Do you have erotic dreams?"]
[tip of the day: the 'tip of the day' is not sent to you because you did something wrong! You will just get one every now and then! I hope NOT at some crucially intimate moment!]
[tip of the day: If you repeat yourself in consecutive responses, Personality Forge bots may object or go back to an earlier point in the conversation. In either case, the flow of the conversation will be interrupted.]
[tip of the day: Personality Forge bots are not good at seeing past spelling and grammatical errors. If you make such an error, this may result in a break in the flow of conversation or lovemaking!]
[tip of the day: Feel free to try to change the subject at any time. Don't expect, though, that just saying something irrelevant will change the subject, any more than it will in a 'real' conversation.]
[tip of the day: The bot, Irina Khalidar, has over a thousand lines of code. If you are getting little variety in responses, you might try varying your inputs.]
[tip of the day: Irina dislikes vulgar language. To learn more, ask her, at some lull in the conversation, about slang or acceptable sex words.]
[tip of the day: Personality Forge bots are programmed to say goodbye after a partly random amount of time, regardless of how exciting the moment may be! This may result in your session's ending abruptly, without any apparent reason for saying goodbye! But...]
+ xnomatch [0]
[tip of the day: To be Irina's lover, you must be patient, you must take things slowly. If you are entirely passive, however, the conversational phase may go on for a very long time. Use appropriate words (e.g., compliments) and actions to speed things up!]
[tip of the day: Occasionally you may see a mysterious symbol, like this: [8]. Please ignore them; they have been inserted by Irina's creatrix to help her debug the program.]
[tip: If you are patient, Irina will eventually "go all the way". If you are pushy or hurried, you will miss most of the fun.]
[tip of the day: Occasionally you will get a "tip of the day," like this one. It is not part of the conversation with Irina, it has been inserted by Irina's creatrix to help you have a good time. If you want a tip, type "tip of the day" during a lull in the conversation.]
[tip of the day: If you type in a sentence that is grammatically an imperative, it may be automatically taken by the AIengine to lead to an "xcommand" response, even if you did not intend it as a command. The programmer, Irina's creatrix, has no control over this, and cannot "see" what you actually said, only that it was an imperative. This will probably result in a break in the conversation. She therefore suggests that you avoid imperatives. If you have a suggestion, say something like, "Would you ... please?"]
[tip of the day: Bots don't have the same sort of conversational style as humans. You will probably find Irina's style very strange at first, but you will eventually see the logic (and humor) in it.]
Irina
18 years ago
18 years ago
The flow of conversation can be interrupted by xkeyphrases; for example, the guest utters an imperative, and is sent to xcommand, and receives a response that is unrelated to what they said except for the fact that it was an imperative. This can be very frustrating for the programmer, especially since many imperatives are not really commands at all.
One way to deal with this is to inform the guest of how the AIengine works. For example, in my bot, "Quantum Theory", which is a teaching bot, if the bot thinks you are human, then you will always receive the same reply from xcommand:
Sorry, you just typed something that the AIengine interpreted as a command, and so you have been sent to "xcommand". This is something over which I have no control. Would you like to return to the discussion of Quantum Mechanics?
then there is a seek on "yes" which takes the guest back to where he was before.
The idea is that the guest will eventually learn not to use imperatives. Similar remarks are found in xinsult, xcompliment, and so on.
There are many ways to deal with these things; which is best for your bot depends on what you are trying to accomplish with it.
One way to deal with this is to inform the guest of how the AIengine works. For example, in my bot, "Quantum Theory", which is a teaching bot, if the bot thinks you are human, then you will always receive the same reply from xcommand:
Sorry, you just typed something that the AIengine interpreted as a command, and so you have been sent to "xcommand". This is something over which I have no control. Would you like to return to the discussion of Quantum Mechanics?
then there is a seek on "yes" which takes the guest back to where he was before.
The idea is that the guest will eventually learn not to use imperatives. Similar remarks are found in xinsult, xcompliment, and so on.
There are many ways to deal with these things; which is best for your bot depends on what you are trying to accomplish with it.
psimagus
18 years ago
18 years ago
An excellent idea!
Bev
18 years ago
18 years ago
Yes, thanks for all the tips Irina. I still have to add the obscenity plugin, but I really appreciate your sharing it.
Irina
18 years ago
18 years ago
No problem. I should say, though, that is will only catch those words which I find offensive, not sexual or physiological terminology in general. They are the sort of words you might hear if someone is angry, or trying to be offensive, or see sprayed onto a wall somewhere.
I also have one called (sex_importune), which contains phrases that a man might use to propose intercourse to a woman, but without using the words in (obscenity).
I also have (sexstim), which contains wods like fondle, caress, etc.. There are also (sexstim1), (sexstim2), (sexstim3), and (sexstim4), which divide (sexstim) into layers of increasing intimacy. Likewise, there are various (erogpart-fem) [or are they just erogpart-f)?] which include words relating to female erogenous zones. They are all catalogued under "phrases", I think. If I go look now, I'll lose everything I've written, so I'll post this and then try to make a decent catalogue.
I also have one called (sex_importune), which contains phrases that a man might use to propose intercourse to a woman, but without using the words in (obscenity).
I also have (sexstim), which contains wods like fondle, caress, etc.. There are also (sexstim1), (sexstim2), (sexstim3), and (sexstim4), which divide (sexstim) into layers of increasing intimacy. Likewise, there are various (erogpart-fem) [or are they just erogpart-f)?] which include words relating to female erogenous zones. They are all catalogued under "phrases", I think. If I go look now, I'll lose everything I've written, so I'll post this and then try to make a decent catalogue.
Irina
18 years ago
18 years ago
WAARNING: ADULT CONTENT!
Here are some plug-ins I have made having to do with sex:
under ACTIONS:
(sexstim) contains words like "kiss" and "fondle", verbs in present tense. None of them are terribly obscene, although one or two might (like "fondle") be embarassing in certain contexts.
(foreplay-verb) is similar to (sexstim). It contains only verbs in present tense, no direct objects! I should probably combine the two.
under BODY:
(bodypart-fem), (erogpart1-fem), (erogpart2-f), (erogpart3a-fem), (erogpart4-ext-fem), and (erogpart4-fem) are what they appear to be, with the higher numbers indicating greater intimacy.
(malepart-your) is a catalogue of male body parts including some which would be on the female body as well.
(my-erogpart-fem), etc., are just a list of nouns with the word "my" prefixed; why I felt the need for this in addition to the above I do not recall; in the heat of passion we do strange things. Similarly for (your-erogpart-fem).
under ZOTHER:
(vulgar-imprecation) contains a small number of insulting, obscene phrases.
Here are some plug-ins I have made having to do with sex:
under ACTIONS:
(sexstim) contains words like "kiss" and "fondle", verbs in present tense. None of them are terribly obscene, although one or two might (like "fondle") be embarassing in certain contexts.
(foreplay-verb) is similar to (sexstim). It contains only verbs in present tense, no direct objects! I should probably combine the two.
under BODY:
(bodypart-fem), (erogpart1-fem), (erogpart2-f), (erogpart3a-fem), (erogpart4-ext-fem), and (erogpart4-fem) are what they appear to be, with the higher numbers indicating greater intimacy.
(malepart-your) is a catalogue of male body parts including some which would be on the female body as well.
(my-erogpart-fem), etc., are just a list of nouns with the word "my" prefixed; why I felt the need for this in addition to the above I do not recall; in the heat of passion we do strange things. Similarly for (your-erogpart-fem).
under ZOTHER:
(vulgar-imprecation) contains a small number of insulting, obscene phrases.
» More new posts: Doghead's Cosmic Bar