Im not saying these symbolic structures dont work tho, I think they do just as much as pattern recognition stuff does. (see Yann Lecun's amazing works) its all assignment after all. (=) in both techniques.
I think I'll name this language AiDL, in honor of our amazing community. If Freddy greenlights me!
It evolves fast when I work on it, as I get addicted to the problem solving. But I have to take breaks from it if I can pull myself away long enough - otherwise I am up till dawn tapping away on the keys.
I'm having a break from it at the moment actually, but there's an itch to scratch developing again lately ;D
the good thing about this is you could read what its doing not like hidden layers in neural networks where its all unlabelled gibberish.
AiDL parsers will be implemented using PEGjs (https://pegjs.org/). They use Parsing Expression Grammar formalism, which is close to EBNF. There's a tool called GrammKit (http://dundalek.com/GrammKit/) that can generate railroads directly from PEGjs, so that's probably what I'd use.
About converting BNF to EBNF, isn't it possible to detect recursion and replace it with " * " or " + " operators? And anyway, isn't EBNF a superset of BNF, semantically?
A -> BIf there's no typo in this quote, then I don't get it. How could (A or B) be related to (C and D), since there's no link between "A -> B" and "C -> D"?
C -> D
follows:
(A or B) -> (C and D)
QuoteA -> BIf there's no typo in this quote, then I don't get it. How could (A or B) be related to (C and D), since there's no link between "A -> B" and "C -> D"?
C -> D
follows:
(A or B) -> (C and D)
Your notice about CFG and logic is exciting. Could they be expressed and manipulated uniformly? Do they both belong to the same superset?It seems, for now, that logic alone is not suitable for processing streams of data, while it is good for isolated stream (sequence) elements. There has to be some sequence operator extension to logic. Maybe in a form of predicates (https://en.wikipedia.org/wiki/First-order_logic), but then each predicate parameter (as a sequence element) should implement its little sub-logic connected to the above for references and recursion. Very inspiring question. And very good scientific paper could be extracted from CFG - Logic analogy. Proving a contradiction in a grammar would mean that the grammar would never parse anything (it would always report an error upon parsing), and could be considered as an error in grammar.
What I really meant (I hope I wrote it right now) was this:Thank you, I understand now.
A -> B
A -> C
consequences with:
A -> (B and C)
and other way around:
B -> A
C -> A
consequences with:
(B or C) -> A
You're right, you can't hardcode everything because there's too much. But I think it's possible to reach some kind of top-down "critical mass", and BOOM. Like the Terminator.
Sensing can be tricky, yes: we need specific perception/interpretation devices or subsystems whatever you wanna call them. It can't be high-level. When your eyes meet a face, you just see a face. The mechanism that makes the "face construct" pop in your mind isn't conscious at all.
about an automatic sensor to fill it up-> if your putting tonnes of english with some kind of natural language processor that goes into the symbolic system, they tend to be parrotlike and take it in no matter how nonsensical it is, a machine has no judgement of good reading matter unless u give it to it, and it would be tricky.
even people dont know what to believe, its actually a fundamental problem with intelligence in general, let alone parrotlike data collecting.
I guess it must take in the information, but maybe you put a scope difference between "different opinions", and it takes them all in... then a machine has a bit of a personality problem, doesnt know who to be. :)
Im not saying these symbolic structures dont work tho, I think they do just as much as pattern recognition stuff does. (see Yann Lecun's amazing works) its all assignment after all. (=) in both techniques.
set Hand [ object {
<body-part>fingers: 5,
<state>holds: nothing,
<action>grab: verb {
if (holds==nothing) {
set holds [argument];
};
},
<action>write: verb {
if (holds==pencil) {
Console log "Writing [argument]";
};
},
<action>drop: verb {
set holds nothing;
}
}];
set Human [ object {
<body-part>head: object {
<action>say: verb {
console log "Saying [argument]";
}
},
<body-part>left-hand: [Hand clone],
<body-part>right-hand: [Hand clone]
}];
set John [Human clone];
John right-hand grab pencil, write "Hello world";