Endemes provide an excellent way to merge user desired characteristics and randomness (aritifical creativity). An endeme is a permuted list of characteristics that can be combined in any way and in any order. If the computer comes up with some of them and the user comes up with some of them, then they merge well. So far I've done this only on paper and with a card deck, so I'll see how this flies when I try moving it to a computer. I discovered this while trying to roll out characters using the character sheet from my last article.
I'm an old role gamer from way back and I have decided to find a new group to game with. It is likely that I would have to run something so I decided to try using my endeme approach to paper and dice role playing games. I have built a character sheet I am fairly happy with , and I am working on story generation sheet which being much harder for me still needs a lot of work. Here is the character sheet:

The endeme sets are:
Cognitive: A) Appearance, B) Bravery, C), Creativity, D) Deduction, E) EQ, F) Financial IQ, G) Growth, H) Presence, I) Induction, J) Physical IQ, K) Kinetic IQ, L) Language, M) Mechanical IQ, N) Navigation, O) Organization, P) Practicality, Q) Recognition, R) Reason, S) Service, T) Teamwork, U) Office work, V) Visual IQ.
Motivation: A) Addiction, B) Being, C) Creation, D) Design, E) Escape, F) Food, G) Good, H) Honor, I) Intrinsic motivation, J) Justice, K) Knowledge, L) Love, M) Money, N) Future, O) Opposing, P) Power, Q) Quiet, R) Random, S) Shame, T) Terror, U) Strengthening, V) Knowing self.
Type: A) Artist, B) Business, C) Close Combat, D) Distance Combat, E) Evangelist, F) Farmer, G)
Government, H) Healing, I) Industry/artisan, J) Jesus/messiah, K) Knowledge, L) Landed, M) Money, N) Nomad/traveler, O) Outdoor, P) Powerful, Q) Chivalry, R) Religion, S) Seaman, T) Titled/elite, U) Urban, V) Vet/animals.
Physical: A) Appearance, B) Balance, C) Coordination, D) Dexterity, E) Endurance, F) Frame, G)
Growth, H) Height, I) Ice, J) Jumping/acrobatics, K) Climbing, L) Listening, M) Muscle, N) Nerd, O) Obesity, P) Piloting, Q) Quickness, R) Riding, S) Resistance, T) Tropical heat, U) Swimming, V) Velocity.
Each character will have an endeme for each of the endeme sets. An endeme is a permutation of a list with items that can be combined in an order (an endeme set). I call it an endeme because endemes means together and what an endeme does is it welds a number of pieces of data together and creates a piece of information as an emergent property.
The items on the right margin of each endeme set are bonuses to other areas or items on the sheet. For example high bravery provides a spirit (s) bonus.
So far in computer science we have nouns (objects tables or structures),
and verbs (methods or functions).
Here is an idea for adjectives: The endeme idea I have been working on.
Perhaps there will someday be a language with a syntax like
best.proposal.accept
where proposal is an object, accept is a method, and best is an adjective.
Pproposal would probably be
a list or array with an endeme attached to each item.
Best would be an adjective method written to select a particular item in the list
based on a best match or on some more complex endeme logic.
If you made an interface called IEndeme which required an Endeme property then you
could do:
proposal.best.accept
in C#. Interesting that it is actually English in reverse.
Then 'best' would be a method which returns one item from a list of items (proposal).
I think I'll add endemes to each of the list objects I make.
public interface IEndeme
{
Endeme BaseEndeme { get; set; }
}
I don't know if we are in for a decline to a lower historic age level but if we are in for a decline the following statements might apply:
A classical Roman with knowledge of the future might say:
The problem is not civil society although that may fail.
The problem is that political science never got developed. There is no political balance.
A modern person with knowledge of the future might say:
the problem is not the consumer economy although that may fail.
The problem is that computer language never got developed. The computers are still mute.
I've decided to move this answer to the main blog because it didn't format very well in the comments section.
It's taken me several days to figure out how to respond. It's difficult because no language is really good for artificial creativity. I tried for many years to design and implement a language for AC and could not. I started with Forth and first tried to improve it so that it was fully internally consistent. Then I tried to build a similar language that would treat objects and tables as the same thing. When Java came out I knew that I was outclassed.
My best recommendation considering the languages that exist now, is to pick one of the modern object oriented languages: C#, Ruby, Python, or VB.NET, or possibly Java or Scheme. Necessary characteristics of a good Artificial creativity language are three:
The connection of graphics and reality is hard, because, how do you know what reality is behind a graphic?. People don't want information because they don't trust it. But the endeme allows a potentially trustworthy port of data to information because users can see exactly what it means.
These are four requirements for excellent UI's regarding forms and graphics strongly-and-weakly connected to data:
i.
- Form and graphic items need to be strongly connected to data.
- The presentation must be separate from the function.
ii.
- Forms and graphics need to be a representation of the data in them.
- Customers will not stand for forms done a different way that what they want.
A solution would be the development of 'meta-creator' systems. A meta-creator system could make forms and graphics as representations of data. The user would have to input their desires to the meta-creator system and it would devise the representation. In addition, the user would demand certain highly specific detailed characteristics for the format.
A meta creator system would build systems representing data using inputs for their design by interpreting user descriptions. We need a system that can understand English or another language. It also needs to know something about layout. This may be analogous to semantics and syntax in a textual system. What if you had just one screen to interact with a database with and the computer would display various things on the screen based on things the user 'said': bubble sprays, forms, tabular lists, detail items, interpretations, editing lists, self analysis, save dialog, data interpreter, meta-creator controls.
Here are some specifications a user could make:
(rare) 'I want to see how xyz are related' - bubble spray
(common) 'I want to input a new X with its related Y and Z data' - forms
(common) 'I want to see a list of x's including their Y's' - tabular list
(rare) 'I want to know what you think about X' - interpretations
(common) 'I want information about X' - detail items
(rare) 'I want to edit item Y of all the X's like Z' - editing lists
(rare) 'I want you to identify what data is missing' - self analysis
(common) 'I want to download X Y Z' - save dialog
(rare) 'I want to cut and paste all this data into you' - data interpreter
(rare) 'I want you to handle these pieces of data as a unit' - meta-creator controls
(rare) 'I want menus over here with a major category W for X Y and Z' - meta-creator controls
(rare) 'I want this system to look professional' - meta-creator controls
(rare) 'I want to keep X Y and Z data on Ws' - database generator and meta-creator controls
(rare) 'I want to add X's to the data we keep on Y's'
Here are some misc. related Ideas:
- a program that can learn about its user(S)
- a program that will open in a state its user wants (what states even matter?, what programs might benefit from them?)
- smart multi-level menus. a program to consolidate menus and organize them how the user wants, can tell if the user has a hard time finding an item and looks for categories of commonly used items
- bubble spray program
Programming is a creative act, and if we lose sight of that, we are no longer working with what is. Computer science is not a science of nature. It is a science based on what we have created (this is someone else's idea so I need a reference here). So the work of computer science is creativity, that is, us creating things. It is only a short leap from there to computers creating things - Artificial Creativity.
I'm beginning to explore the possibility of applying the Endeme principle to HL7 Messages. This is a first pass at an endeme set. The reason it is not a real endeme set is that it is simply a list of categories. In an endeme set the list of items would combine in various ways to describe new emergent properties. It is a first pass. The HL7 message format has about 2000 fields. Studying how the fields are made out of combined list items would probably be the next step.
Endeme Set main A08 segment segment abbreviations description ---------------------- ---------------- --------------------- ----------------------- A. Accident ACC_Accident ACC, ZAC accident information B. Bill UB1_Ub82Data UB1, (BLG) billing data C. Claim UB2_Ub92Data UB2 claim form data D. Diagnosis DG1_Diagnosis DG1 diagnoses E. Event EVN_EventType EVN, ZDG, (ZCV, ZAB) transfer, cancellation, discharge F. Financial (not used in A08) (FTN) financial, transaction G. Guarantor GT1_Guarantor GT1 guarantor H. Heads up ZPV ZPV warning, alert, precaution, notice, indication, heads up I. Insurance IN1_Insurance IN1, IN2, IN3, ZIN, (ZCI) insurances J. Job info ZPI ZPI, (ZCE) patient employment information K. Kind PD1_PatientDemographics PD1 kind, membership, demographics L. Label/Identity PID_PatientIdentification PID patient identification data M. Medication (not used in A08) (RXA,RXC,RXD,RXE,RXG,RXO,RXR,ORC) medications, medical orders N. Newborn ZNB ZNB newborn, baby O. Observation OBX_ObservationResult OBX, (OBR?,OM1,OM2,OM3,OM4,OM5,OM6) observation data P. Procedure PR1_Procedures PR1, ZPR medical procedures Q. Query (not used in A08) (QRD, QRF, URD, URS) query, report R. Relatives NK1_NextOfKin NK1 relatives, kin S. Sensitivity AL1_PatientAllergyInformation AL1 sensitivity, allergy T. Technical (not used in A08) (DSP,MFA,MFE,MFI,MRG,MSA,NSC,NST) U. Users (not used in A08) (PRA, STF, RQ1, RQD) practitioner, staff, requisition V. Visit PV1_PatientVisit PV1, PV2, ZCA, (NPU) visit information
July 2010
April 2010
March 2010
February 2010
January 2010
August 2009
July 2009
June 2009
May 2009
March 2009
February 2009
January 2009
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
March 2008
February 2008
January 2008
November 2007
September 2007
August 2007
July 2007
March 2007
January 2007
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006