ACT-r: assigning a chunk as buffer slot value in a production rule
No sure if there's a lot of act-r programmer on here, but I can't seem to find a forum/group for that anywhere so...
I'm writing a program which as a chunk defined as (and the goal below):
(chunk-type position position-x position-y)
(chunk-type goal state last-pos)
In a production, I'm fetching the position of a thing on screen from the visual-location and then I would need to create a position chunk and put that in my goal's last-pos slot. Here's the production rule:
(P attend-projectile
=goal>
ISA goal
state nil
=visual-location>
screen-x =pos-x
screen-y =pos-y
?visual>
state free
==>
+visual>
cmd move-attention
screen-pos =visual-location
=goal>
state attended
last-pos (position pos-x screen-x pos-y screen-y)
)
Or something like that. I've tried various syntaxe. The problem boils down to:
- I need to instantiate a chunk within a production (the position chunk) based on values recovered in the lhs,
- then assign that chunk to a goal's slot.
Somehow I can't seem to find an equivalent example in the doc...
EDIT:
I do need this to be a chunk, not just storing the x & y position. Eventually this chunk will be extended to include an ID (which will be obtained from the visual location, e.g. a different letter will be assigned to each moving object). I will be tracking those object through time. Because I'm tracking through time, another chunk (trajectory) will contain 3 position chunks (with their IDs).
Other productions will expect to find this chunk (trajectory, once I have 3 position chunks) and make decisions based on that.
Obviously the above is a snippet of the code. But the conceptual difficulty I have is manipulating (instantiating/creating however it's called in actr nomentalture) chunks at runtime, essentially.
lisp common-lisp act-r
add a comment |
No sure if there's a lot of act-r programmer on here, but I can't seem to find a forum/group for that anywhere so...
I'm writing a program which as a chunk defined as (and the goal below):
(chunk-type position position-x position-y)
(chunk-type goal state last-pos)
In a production, I'm fetching the position of a thing on screen from the visual-location and then I would need to create a position chunk and put that in my goal's last-pos slot. Here's the production rule:
(P attend-projectile
=goal>
ISA goal
state nil
=visual-location>
screen-x =pos-x
screen-y =pos-y
?visual>
state free
==>
+visual>
cmd move-attention
screen-pos =visual-location
=goal>
state attended
last-pos (position pos-x screen-x pos-y screen-y)
)
Or something like that. I've tried various syntaxe. The problem boils down to:
- I need to instantiate a chunk within a production (the position chunk) based on values recovered in the lhs,
- then assign that chunk to a goal's slot.
Somehow I can't seem to find an equivalent example in the doc...
EDIT:
I do need this to be a chunk, not just storing the x & y position. Eventually this chunk will be extended to include an ID (which will be obtained from the visual location, e.g. a different letter will be assigned to each moving object). I will be tracking those object through time. Because I'm tracking through time, another chunk (trajectory) will contain 3 position chunks (with their IDs).
Other productions will expect to find this chunk (trajectory, once I have 3 position chunks) and make decisions based on that.
Obviously the above is a snippet of the code. But the conceptual difficulty I have is manipulating (instantiating/creating however it's called in actr nomentalture) chunks at runtime, essentially.
lisp common-lisp act-r
Looks like there is a mailing list for ACT-R. You could try asking there too.
– jkiiski
Nov 15 '18 at 9:46
Yeah I did write once on some other topics - I'm going to if I can't figure out or get an answer here. It's just that it's basically what seems to be a rather restrained group (or maybe just a guy I'm not sure) who support it from a technical perspective... so I'd rather only write if I have absolutely no choice. I'm guessing they could quickly end up spending a bunch of time answering what may be in the end silly questions...
– LogicOnAbstractions
Nov 15 '18 at 22:27
add a comment |
No sure if there's a lot of act-r programmer on here, but I can't seem to find a forum/group for that anywhere so...
I'm writing a program which as a chunk defined as (and the goal below):
(chunk-type position position-x position-y)
(chunk-type goal state last-pos)
In a production, I'm fetching the position of a thing on screen from the visual-location and then I would need to create a position chunk and put that in my goal's last-pos slot. Here's the production rule:
(P attend-projectile
=goal>
ISA goal
state nil
=visual-location>
screen-x =pos-x
screen-y =pos-y
?visual>
state free
==>
+visual>
cmd move-attention
screen-pos =visual-location
=goal>
state attended
last-pos (position pos-x screen-x pos-y screen-y)
)
Or something like that. I've tried various syntaxe. The problem boils down to:
- I need to instantiate a chunk within a production (the position chunk) based on values recovered in the lhs,
- then assign that chunk to a goal's slot.
Somehow I can't seem to find an equivalent example in the doc...
EDIT:
I do need this to be a chunk, not just storing the x & y position. Eventually this chunk will be extended to include an ID (which will be obtained from the visual location, e.g. a different letter will be assigned to each moving object). I will be tracking those object through time. Because I'm tracking through time, another chunk (trajectory) will contain 3 position chunks (with their IDs).
Other productions will expect to find this chunk (trajectory, once I have 3 position chunks) and make decisions based on that.
Obviously the above is a snippet of the code. But the conceptual difficulty I have is manipulating (instantiating/creating however it's called in actr nomentalture) chunks at runtime, essentially.
lisp common-lisp act-r
No sure if there's a lot of act-r programmer on here, but I can't seem to find a forum/group for that anywhere so...
I'm writing a program which as a chunk defined as (and the goal below):
(chunk-type position position-x position-y)
(chunk-type goal state last-pos)
In a production, I'm fetching the position of a thing on screen from the visual-location and then I would need to create a position chunk and put that in my goal's last-pos slot. Here's the production rule:
(P attend-projectile
=goal>
ISA goal
state nil
=visual-location>
screen-x =pos-x
screen-y =pos-y
?visual>
state free
==>
+visual>
cmd move-attention
screen-pos =visual-location
=goal>
state attended
last-pos (position pos-x screen-x pos-y screen-y)
)
Or something like that. I've tried various syntaxe. The problem boils down to:
- I need to instantiate a chunk within a production (the position chunk) based on values recovered in the lhs,
- then assign that chunk to a goal's slot.
Somehow I can't seem to find an equivalent example in the doc...
EDIT:
I do need this to be a chunk, not just storing the x & y position. Eventually this chunk will be extended to include an ID (which will be obtained from the visual location, e.g. a different letter will be assigned to each moving object). I will be tracking those object through time. Because I'm tracking through time, another chunk (trajectory) will contain 3 position chunks (with their IDs).
Other productions will expect to find this chunk (trajectory, once I have 3 position chunks) and make decisions based on that.
Obviously the above is a snippet of the code. But the conceptual difficulty I have is manipulating (instantiating/creating however it's called in actr nomentalture) chunks at runtime, essentially.
lisp common-lisp act-r
lisp common-lisp act-r
edited Nov 21 '18 at 20:04
LogicOnAbstractions
asked Nov 13 '18 at 14:28
LogicOnAbstractionsLogicOnAbstractions
518
518
Looks like there is a mailing list for ACT-R. You could try asking there too.
– jkiiski
Nov 15 '18 at 9:46
Yeah I did write once on some other topics - I'm going to if I can't figure out or get an answer here. It's just that it's basically what seems to be a rather restrained group (or maybe just a guy I'm not sure) who support it from a technical perspective... so I'd rather only write if I have absolutely no choice. I'm guessing they could quickly end up spending a bunch of time answering what may be in the end silly questions...
– LogicOnAbstractions
Nov 15 '18 at 22:27
add a comment |
Looks like there is a mailing list for ACT-R. You could try asking there too.
– jkiiski
Nov 15 '18 at 9:46
Yeah I did write once on some other topics - I'm going to if I can't figure out or get an answer here. It's just that it's basically what seems to be a rather restrained group (or maybe just a guy I'm not sure) who support it from a technical perspective... so I'd rather only write if I have absolutely no choice. I'm guessing they could quickly end up spending a bunch of time answering what may be in the end silly questions...
– LogicOnAbstractions
Nov 15 '18 at 22:27
Looks like there is a mailing list for ACT-R. You could try asking there too.
– jkiiski
Nov 15 '18 at 9:46
Looks like there is a mailing list for ACT-R. You could try asking there too.
– jkiiski
Nov 15 '18 at 9:46
Yeah I did write once on some other topics - I'm going to if I can't figure out or get an answer here. It's just that it's basically what seems to be a rather restrained group (or maybe just a guy I'm not sure) who support it from a technical perspective... so I'd rather only write if I have absolutely no choice. I'm guessing they could quickly end up spending a bunch of time answering what may be in the end silly questions...
– LogicOnAbstractions
Nov 15 '18 at 22:27
Yeah I did write once on some other topics - I'm going to if I can't figure out or get an answer here. It's just that it's basically what seems to be a rather restrained group (or maybe just a guy I'm not sure) who support it from a technical perspective... so I'd rather only write if I have absolutely no choice. I'm guessing they could quickly end up spending a bunch of time answering what may be in the end silly questions...
– LogicOnAbstractions
Nov 15 '18 at 22:27
add a comment |
1 Answer
1
active
oldest
votes
Why do you need another chunk? You have the chunk in the visual-location buffer with that information so why not use it:
(P attend-projectile
=goal>
ISA goal
state nil
=visual-location>
?visual>
state free
==>
+visual>
cmd move-attention
screen-pos =visual-location
=goal>
state attended
last-pos =visual-location
)
Of course, that doesn't answer the question that was asked.
To create a new chunk, the proper way to do so is through a request to the imaginal buffer which would then require a following production to harvest the result and place it into the slot of the goal buffer's chunk. Assuming that the slots you want in the new chunk are from the position chunk-type you show, and that the values are from the similarly named slots of the chunk in the visual-location buffer, this would create the new chunk in the imaginal buffer:
(P attend-projectile
=goal>
ISA goal
state nil
=visual-location>
screen-x =pos-x
screen-y =pos-y
?visual>
state free
==>
+visual>
cmd move-attention
screen-pos =visual-location
=goal>
state attended
+imaginal>
position-x =pos-x
position-y =pos-y
)
No, I do need to instantiate a new chunk & store the chunk in the goal. I can already store position as-read from the visual location - the issue is to store an actual chunk, defined/instantiated at run time based on the infos. I don't really need to use the imaginal buffer either....
– LogicOnAbstractions
Nov 21 '18 at 2:27
It's also not really clear what you mean "To create a new chunk, the proper way to do so is through a request to the imaginal buffer which would then require a following production to harvest the result and place it into the slot of the goal buffer's chunk". That's already a production that's fired there. I want that production to instantiate the chunk & place it in the goal. If you tell me to store raw attributes in the imaginal buffer and to use a production to put it in the goal later without telling me why, you're just kicking the can down the road...
– LogicOnAbstractions
Nov 21 '18 at 2:30
The way to create a chunk at run time in a model is through a request to the imaginal buffer. That's not kicking the can down the road, it is how the architecture works. The important question is still really why do you need a new chunk?
– user10675630
Nov 21 '18 at 14:26
Well from the Reference manual (p251), the imaginal buffer works just like the goal buffer except it takes time to perform the operation. I'm not modeling reaction times, so I have little need for that. I agree I could put the infos in the imaginal. But you still don't answer the question - you still just store attributes you read from the visual-location, not a chunk in the imaginal. So I still don't now how to instantiate a chunk to put it anywhere are runtime (be it imaginal or goal).
– LogicOnAbstractions
Nov 21 '18 at 20:00
Yes, the imaginal buffer requests work like the goal buffer requests which is to create a new chunk. ACT-R reference manual (act-r.psy.cmu.edu/wordpress/wp-content/themes/ACT-R/actr7/…) page 252 "The request is used to create a new chunk which is placed into the imaginal buffer after :imaginal-delay seconds." That is exactly what you are asking how to do -- create a chunk.
– user10675630
Nov 22 '18 at 7:04
|
show 3 more comments
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53283236%2fact-r-assigning-a-chunk-as-buffer-slot-value-in-a-production-rule%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Why do you need another chunk? You have the chunk in the visual-location buffer with that information so why not use it:
(P attend-projectile
=goal>
ISA goal
state nil
=visual-location>
?visual>
state free
==>
+visual>
cmd move-attention
screen-pos =visual-location
=goal>
state attended
last-pos =visual-location
)
Of course, that doesn't answer the question that was asked.
To create a new chunk, the proper way to do so is through a request to the imaginal buffer which would then require a following production to harvest the result and place it into the slot of the goal buffer's chunk. Assuming that the slots you want in the new chunk are from the position chunk-type you show, and that the values are from the similarly named slots of the chunk in the visual-location buffer, this would create the new chunk in the imaginal buffer:
(P attend-projectile
=goal>
ISA goal
state nil
=visual-location>
screen-x =pos-x
screen-y =pos-y
?visual>
state free
==>
+visual>
cmd move-attention
screen-pos =visual-location
=goal>
state attended
+imaginal>
position-x =pos-x
position-y =pos-y
)
No, I do need to instantiate a new chunk & store the chunk in the goal. I can already store position as-read from the visual location - the issue is to store an actual chunk, defined/instantiated at run time based on the infos. I don't really need to use the imaginal buffer either....
– LogicOnAbstractions
Nov 21 '18 at 2:27
It's also not really clear what you mean "To create a new chunk, the proper way to do so is through a request to the imaginal buffer which would then require a following production to harvest the result and place it into the slot of the goal buffer's chunk". That's already a production that's fired there. I want that production to instantiate the chunk & place it in the goal. If you tell me to store raw attributes in the imaginal buffer and to use a production to put it in the goal later without telling me why, you're just kicking the can down the road...
– LogicOnAbstractions
Nov 21 '18 at 2:30
The way to create a chunk at run time in a model is through a request to the imaginal buffer. That's not kicking the can down the road, it is how the architecture works. The important question is still really why do you need a new chunk?
– user10675630
Nov 21 '18 at 14:26
Well from the Reference manual (p251), the imaginal buffer works just like the goal buffer except it takes time to perform the operation. I'm not modeling reaction times, so I have little need for that. I agree I could put the infos in the imaginal. But you still don't answer the question - you still just store attributes you read from the visual-location, not a chunk in the imaginal. So I still don't now how to instantiate a chunk to put it anywhere are runtime (be it imaginal or goal).
– LogicOnAbstractions
Nov 21 '18 at 20:00
Yes, the imaginal buffer requests work like the goal buffer requests which is to create a new chunk. ACT-R reference manual (act-r.psy.cmu.edu/wordpress/wp-content/themes/ACT-R/actr7/…) page 252 "The request is used to create a new chunk which is placed into the imaginal buffer after :imaginal-delay seconds." That is exactly what you are asking how to do -- create a chunk.
– user10675630
Nov 22 '18 at 7:04
|
show 3 more comments
Why do you need another chunk? You have the chunk in the visual-location buffer with that information so why not use it:
(P attend-projectile
=goal>
ISA goal
state nil
=visual-location>
?visual>
state free
==>
+visual>
cmd move-attention
screen-pos =visual-location
=goal>
state attended
last-pos =visual-location
)
Of course, that doesn't answer the question that was asked.
To create a new chunk, the proper way to do so is through a request to the imaginal buffer which would then require a following production to harvest the result and place it into the slot of the goal buffer's chunk. Assuming that the slots you want in the new chunk are from the position chunk-type you show, and that the values are from the similarly named slots of the chunk in the visual-location buffer, this would create the new chunk in the imaginal buffer:
(P attend-projectile
=goal>
ISA goal
state nil
=visual-location>
screen-x =pos-x
screen-y =pos-y
?visual>
state free
==>
+visual>
cmd move-attention
screen-pos =visual-location
=goal>
state attended
+imaginal>
position-x =pos-x
position-y =pos-y
)
No, I do need to instantiate a new chunk & store the chunk in the goal. I can already store position as-read from the visual location - the issue is to store an actual chunk, defined/instantiated at run time based on the infos. I don't really need to use the imaginal buffer either....
– LogicOnAbstractions
Nov 21 '18 at 2:27
It's also not really clear what you mean "To create a new chunk, the proper way to do so is through a request to the imaginal buffer which would then require a following production to harvest the result and place it into the slot of the goal buffer's chunk". That's already a production that's fired there. I want that production to instantiate the chunk & place it in the goal. If you tell me to store raw attributes in the imaginal buffer and to use a production to put it in the goal later without telling me why, you're just kicking the can down the road...
– LogicOnAbstractions
Nov 21 '18 at 2:30
The way to create a chunk at run time in a model is through a request to the imaginal buffer. That's not kicking the can down the road, it is how the architecture works. The important question is still really why do you need a new chunk?
– user10675630
Nov 21 '18 at 14:26
Well from the Reference manual (p251), the imaginal buffer works just like the goal buffer except it takes time to perform the operation. I'm not modeling reaction times, so I have little need for that. I agree I could put the infos in the imaginal. But you still don't answer the question - you still just store attributes you read from the visual-location, not a chunk in the imaginal. So I still don't now how to instantiate a chunk to put it anywhere are runtime (be it imaginal or goal).
– LogicOnAbstractions
Nov 21 '18 at 20:00
Yes, the imaginal buffer requests work like the goal buffer requests which is to create a new chunk. ACT-R reference manual (act-r.psy.cmu.edu/wordpress/wp-content/themes/ACT-R/actr7/…) page 252 "The request is used to create a new chunk which is placed into the imaginal buffer after :imaginal-delay seconds." That is exactly what you are asking how to do -- create a chunk.
– user10675630
Nov 22 '18 at 7:04
|
show 3 more comments
Why do you need another chunk? You have the chunk in the visual-location buffer with that information so why not use it:
(P attend-projectile
=goal>
ISA goal
state nil
=visual-location>
?visual>
state free
==>
+visual>
cmd move-attention
screen-pos =visual-location
=goal>
state attended
last-pos =visual-location
)
Of course, that doesn't answer the question that was asked.
To create a new chunk, the proper way to do so is through a request to the imaginal buffer which would then require a following production to harvest the result and place it into the slot of the goal buffer's chunk. Assuming that the slots you want in the new chunk are from the position chunk-type you show, and that the values are from the similarly named slots of the chunk in the visual-location buffer, this would create the new chunk in the imaginal buffer:
(P attend-projectile
=goal>
ISA goal
state nil
=visual-location>
screen-x =pos-x
screen-y =pos-y
?visual>
state free
==>
+visual>
cmd move-attention
screen-pos =visual-location
=goal>
state attended
+imaginal>
position-x =pos-x
position-y =pos-y
)
Why do you need another chunk? You have the chunk in the visual-location buffer with that information so why not use it:
(P attend-projectile
=goal>
ISA goal
state nil
=visual-location>
?visual>
state free
==>
+visual>
cmd move-attention
screen-pos =visual-location
=goal>
state attended
last-pos =visual-location
)
Of course, that doesn't answer the question that was asked.
To create a new chunk, the proper way to do so is through a request to the imaginal buffer which would then require a following production to harvest the result and place it into the slot of the goal buffer's chunk. Assuming that the slots you want in the new chunk are from the position chunk-type you show, and that the values are from the similarly named slots of the chunk in the visual-location buffer, this would create the new chunk in the imaginal buffer:
(P attend-projectile
=goal>
ISA goal
state nil
=visual-location>
screen-x =pos-x
screen-y =pos-y
?visual>
state free
==>
+visual>
cmd move-attention
screen-pos =visual-location
=goal>
state attended
+imaginal>
position-x =pos-x
position-y =pos-y
)
answered Nov 19 '18 at 15:40
user10675630user10675630
362
362
No, I do need to instantiate a new chunk & store the chunk in the goal. I can already store position as-read from the visual location - the issue is to store an actual chunk, defined/instantiated at run time based on the infos. I don't really need to use the imaginal buffer either....
– LogicOnAbstractions
Nov 21 '18 at 2:27
It's also not really clear what you mean "To create a new chunk, the proper way to do so is through a request to the imaginal buffer which would then require a following production to harvest the result and place it into the slot of the goal buffer's chunk". That's already a production that's fired there. I want that production to instantiate the chunk & place it in the goal. If you tell me to store raw attributes in the imaginal buffer and to use a production to put it in the goal later without telling me why, you're just kicking the can down the road...
– LogicOnAbstractions
Nov 21 '18 at 2:30
The way to create a chunk at run time in a model is through a request to the imaginal buffer. That's not kicking the can down the road, it is how the architecture works. The important question is still really why do you need a new chunk?
– user10675630
Nov 21 '18 at 14:26
Well from the Reference manual (p251), the imaginal buffer works just like the goal buffer except it takes time to perform the operation. I'm not modeling reaction times, so I have little need for that. I agree I could put the infos in the imaginal. But you still don't answer the question - you still just store attributes you read from the visual-location, not a chunk in the imaginal. So I still don't now how to instantiate a chunk to put it anywhere are runtime (be it imaginal or goal).
– LogicOnAbstractions
Nov 21 '18 at 20:00
Yes, the imaginal buffer requests work like the goal buffer requests which is to create a new chunk. ACT-R reference manual (act-r.psy.cmu.edu/wordpress/wp-content/themes/ACT-R/actr7/…) page 252 "The request is used to create a new chunk which is placed into the imaginal buffer after :imaginal-delay seconds." That is exactly what you are asking how to do -- create a chunk.
– user10675630
Nov 22 '18 at 7:04
|
show 3 more comments
No, I do need to instantiate a new chunk & store the chunk in the goal. I can already store position as-read from the visual location - the issue is to store an actual chunk, defined/instantiated at run time based on the infos. I don't really need to use the imaginal buffer either....
– LogicOnAbstractions
Nov 21 '18 at 2:27
It's also not really clear what you mean "To create a new chunk, the proper way to do so is through a request to the imaginal buffer which would then require a following production to harvest the result and place it into the slot of the goal buffer's chunk". That's already a production that's fired there. I want that production to instantiate the chunk & place it in the goal. If you tell me to store raw attributes in the imaginal buffer and to use a production to put it in the goal later without telling me why, you're just kicking the can down the road...
– LogicOnAbstractions
Nov 21 '18 at 2:30
The way to create a chunk at run time in a model is through a request to the imaginal buffer. That's not kicking the can down the road, it is how the architecture works. The important question is still really why do you need a new chunk?
– user10675630
Nov 21 '18 at 14:26
Well from the Reference manual (p251), the imaginal buffer works just like the goal buffer except it takes time to perform the operation. I'm not modeling reaction times, so I have little need for that. I agree I could put the infos in the imaginal. But you still don't answer the question - you still just store attributes you read from the visual-location, not a chunk in the imaginal. So I still don't now how to instantiate a chunk to put it anywhere are runtime (be it imaginal or goal).
– LogicOnAbstractions
Nov 21 '18 at 20:00
Yes, the imaginal buffer requests work like the goal buffer requests which is to create a new chunk. ACT-R reference manual (act-r.psy.cmu.edu/wordpress/wp-content/themes/ACT-R/actr7/…) page 252 "The request is used to create a new chunk which is placed into the imaginal buffer after :imaginal-delay seconds." That is exactly what you are asking how to do -- create a chunk.
– user10675630
Nov 22 '18 at 7:04
No, I do need to instantiate a new chunk & store the chunk in the goal. I can already store position as-read from the visual location - the issue is to store an actual chunk, defined/instantiated at run time based on the infos. I don't really need to use the imaginal buffer either....
– LogicOnAbstractions
Nov 21 '18 at 2:27
No, I do need to instantiate a new chunk & store the chunk in the goal. I can already store position as-read from the visual location - the issue is to store an actual chunk, defined/instantiated at run time based on the infos. I don't really need to use the imaginal buffer either....
– LogicOnAbstractions
Nov 21 '18 at 2:27
It's also not really clear what you mean "To create a new chunk, the proper way to do so is through a request to the imaginal buffer which would then require a following production to harvest the result and place it into the slot of the goal buffer's chunk". That's already a production that's fired there. I want that production to instantiate the chunk & place it in the goal. If you tell me to store raw attributes in the imaginal buffer and to use a production to put it in the goal later without telling me why, you're just kicking the can down the road...
– LogicOnAbstractions
Nov 21 '18 at 2:30
It's also not really clear what you mean "To create a new chunk, the proper way to do so is through a request to the imaginal buffer which would then require a following production to harvest the result and place it into the slot of the goal buffer's chunk". That's already a production that's fired there. I want that production to instantiate the chunk & place it in the goal. If you tell me to store raw attributes in the imaginal buffer and to use a production to put it in the goal later without telling me why, you're just kicking the can down the road...
– LogicOnAbstractions
Nov 21 '18 at 2:30
The way to create a chunk at run time in a model is through a request to the imaginal buffer. That's not kicking the can down the road, it is how the architecture works. The important question is still really why do you need a new chunk?
– user10675630
Nov 21 '18 at 14:26
The way to create a chunk at run time in a model is through a request to the imaginal buffer. That's not kicking the can down the road, it is how the architecture works. The important question is still really why do you need a new chunk?
– user10675630
Nov 21 '18 at 14:26
Well from the Reference manual (p251), the imaginal buffer works just like the goal buffer except it takes time to perform the operation. I'm not modeling reaction times, so I have little need for that. I agree I could put the infos in the imaginal. But you still don't answer the question - you still just store attributes you read from the visual-location, not a chunk in the imaginal. So I still don't now how to instantiate a chunk to put it anywhere are runtime (be it imaginal or goal).
– LogicOnAbstractions
Nov 21 '18 at 20:00
Well from the Reference manual (p251), the imaginal buffer works just like the goal buffer except it takes time to perform the operation. I'm not modeling reaction times, so I have little need for that. I agree I could put the infos in the imaginal. But you still don't answer the question - you still just store attributes you read from the visual-location, not a chunk in the imaginal. So I still don't now how to instantiate a chunk to put it anywhere are runtime (be it imaginal or goal).
– LogicOnAbstractions
Nov 21 '18 at 20:00
Yes, the imaginal buffer requests work like the goal buffer requests which is to create a new chunk. ACT-R reference manual (act-r.psy.cmu.edu/wordpress/wp-content/themes/ACT-R/actr7/…) page 252 "The request is used to create a new chunk which is placed into the imaginal buffer after :imaginal-delay seconds." That is exactly what you are asking how to do -- create a chunk.
– user10675630
Nov 22 '18 at 7:04
Yes, the imaginal buffer requests work like the goal buffer requests which is to create a new chunk. ACT-R reference manual (act-r.psy.cmu.edu/wordpress/wp-content/themes/ACT-R/actr7/…) page 252 "The request is used to create a new chunk which is placed into the imaginal buffer after :imaginal-delay seconds." That is exactly what you are asking how to do -- create a chunk.
– user10675630
Nov 22 '18 at 7:04
|
show 3 more comments
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53283236%2fact-r-assigning-a-chunk-as-buffer-slot-value-in-a-production-rule%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Looks like there is a mailing list for ACT-R. You could try asking there too.
– jkiiski
Nov 15 '18 at 9:46
Yeah I did write once on some other topics - I'm going to if I can't figure out or get an answer here. It's just that it's basically what seems to be a rather restrained group (or maybe just a guy I'm not sure) who support it from a technical perspective... so I'd rather only write if I have absolutely no choice. I'm guessing they could quickly end up spending a bunch of time answering what may be in the end silly questions...
– LogicOnAbstractions
Nov 15 '18 at 22:27