Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 21 additions & 12 deletions ai/framework.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,27 @@ package ai
SHOULD PROVIDE ABSTRACTION FOR ELASTICFEED ENGINE AND SERVER-PLUGIN LOGIC.

- Support for ANN: new, train, predict, grow, optimise
- Support for GA: new, simulate

- Recognition: Photo, Songs, Video
- Transformations: FFT, ...

- Filtering
- Sorting
- Aggregation

- Compressing
- Export/Import
- Transcoding
- unidirectional
- bidirectional / RNN (recurrent)
- ********************************
- Continuous-time Recurrent Neural Network CTRNN
- Multiple Timescales Recurrent Neural Network MTRNN
- ********************************
- steps: network architecture, learning rule, activation updating function

- Support for Genethic Algorithms: new, simulate

- Requirements:
- Recognition: Photo, Songs, Video
- Transformations: FFT, ...
- ********************************
- Filtering
- Sorting
- Aggregation
- ********************************
- Compressing
- Export/Import
- Transcoding
*/

func init() {}
46 changes: 46 additions & 0 deletions population/hvs.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package population

import (
"github.com/feedlabs/elasticfeed/population/vhs"
)

/*

*******************************
* Virtual Human Surrogate *
*******************************


- SHOULD DEFINE PRIVATE VIRTUAL PERSONALITY
- SHOULD DEFINE INPUT LANGUAGE AND CHANNEL
- SHOULD DEFINE OUTPUT LANGUAGE AND CHANNEL
- SHOULD DEFINE MOBILITY FEATURES
- ...

*/

type VHSController struct {
pvp *PVPController

communicator vhs.Communicator
}

func (this *VHSController) Query(query interface {}) interface {} {
return this.communicator.Query(this.pvp, query)
}

func (this *VHSController) Train(train interface {}) interface {} {
return this.communicator.Query(this.pvp, train)
}

func (this *VHSController) GetPVP() *PVPController {
return this.pvp
}

func (this *VHSController) GetCommunicator() vhs.Communicator {
return this.communicator
}

func NewVirtualHumanSurrogate(communicator vhs.Communicator) *VHSController {
return &VHSController{nil, communicator}
}
53 changes: 38 additions & 15 deletions population/pvp.go
Original file line number Diff line number Diff line change
@@ -1,17 +1,11 @@
package population

/*

***********************************
* Private Virtual Personality *
***********************************

https://en.wikipedia.org/wiki/Talk%3APrivate_virtual_personality

VI vs AI

A VI is restricted to certain responses and actions, and can't become self-aware,
while an AI is free to think how it likes and is self-aware.

*/

type PVPController struct {
Expand All @@ -34,27 +28,56 @@ type PVPController struct {

}

func (this *PVPController) Train() {
func (this *PVPController) Train(train interface{}) interface{} {
/*
PVP LEARNS VIA HUMAN TEACHING
- CARROT/STICK METHOD
- MOOD DETECTION
- ...

TRAIN PACKAGE:
- HUMAN ENVIRONMENT SENSORS STATUS
- SUBJECT KNOWLEDGE
- HUMAN DECISION
- LIFETIME ACTIVITY&KNOWLEDGE
*/

return map[string]interface{}{
"train": "success",
}
}

func (this *PVPController) Query() {
func (this *PVPController) Query(query interface{}) interface{} {
/*
QUESTION WITH LOGIC ANSWER: YES/NO

QUESTION WITH PROBABILITY ANSWER: MAYBE YES, MAYBE NOT
QUESTION WITH PROBABILITY ANSWER: MOST LIKELY, MAYBE, PROBABLY YES/NO

QUESTION ABOUT LIKENESS OF SUBJECT: LIKE/DISLIKE

QUESTION ABOUT LIKENESS OF PRICE: LIKE/DISLIKE
QUESTION ABOUT LIKENESS OF PRICE: CHEAP/LUXURY

QUESTION ABOUT MOOD: GOOD, BAD, SAD

QUESTION ABOUT BEHAVIOUR TODAY/TOMORROW: IDLE, SHOPPING, READING...

QUESTION ABOUT ABILITY TO LEARN: LOW/MEDIUM/HIGH
*/

return map[string]interface{}{
"query": "response",
}
}

func (this *PVPController) AskMood(query interface{}) interface{} {
return this.Query(query)
}

func (this *PVPController) AskLike(query interface{}) interface{} {
return this.Query(query)
}

func (this *PVPController) AskPriceAcceptance(query interface{}) interface{} {
return this.Query(query)
}

// SUPER GOAL: Artificial Intelligence
Expand All @@ -75,10 +98,10 @@ func (this *PVPController) GetAI() {

THE COMBINATION OF:
- TRAINING USING CURRENT SENSORS
- TRAINING USING CURRENT DECISIONS
- CURRENT BRAIN STATE
- CURRENT INDICES
- CURRENT METRICS OF ACTIONS, BEHAVIOURS
- CURRENT HABITS
- CURRENT KNOWLEDGE/INDICES
- CURRENT METRICS OF BEHAVIOURS, HABITS, ABILITIES, MOODS
- ...
********************************************
*/
Expand Down
10 changes: 10 additions & 0 deletions population/pvp/decision.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package pvp

type DecisionController struct {

/*
- ACTIONS: click, skip, like, scroll-back, returned
- TIME AXIS BASED
*/

}
9 changes: 9 additions & 0 deletions population/pvp/environment.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package pvp

type EnvironmentController struct {
/*
- NETWORK: 3G, Wifi
- PLACE: HOME, OFFICE
- ...
*/
}
11 changes: 11 additions & 0 deletions population/pvp/fact.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package pvp

type FactController struct {
/*
- AGE
- SEX
- HEIGHT
- WEIGHT
- ...
*/
}
3 changes: 3 additions & 0 deletions population/pvp/knowledge.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
package pvp

type KnowledgeController struct {}
10 changes: 10 additions & 0 deletions population/pvp/system_big3/approach.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package big3

type ApproachController struct {
/*
- help
- intimacy
- success
- dominance
*/
}
10 changes: 10 additions & 0 deletions population/pvp/system_big3/avoidance.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package big3

type AvoidanecController struct {
/*
- avoid harm
- avoid disappointment
- avoid failure
- avoid financial loss
*/
}
14 changes: 14 additions & 0 deletions population/pvp/system_big3/behavior.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package big3

type BehaviorController struct {
/*
- help
- intimacy
- success
- dominance
- avoid harm
- avoid disappointment
- avoid failure
- avoid financial loss
*/
}
9 changes: 9 additions & 0 deletions population/pvp/system_big3/situation_goal.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package big3

type SituationGoalController struct {
/*
- S1
- ...
- S8
*/
}
9 changes: 9 additions & 0 deletions population/pvp/system_big3/situation_resource.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package big3

type SituationResourceController struct {
/*
- R1
- ...
- R8
*/
}
11 changes: 11 additions & 0 deletions population/pvp/trait/ability.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package trait

type AbilityController struct {
/*
- FAST LEARN
- IGNORANT
- OPTIMISTIC
- PESIMISTIC
- ...
*/
}
10 changes: 10 additions & 0 deletions population/pvp/trait/behaviour.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package trait

type BehaviourController struct {
/*
- CLICKING FROM LEFT ONLY
- CLICKING FROM RIGHT ONLY
- CLICKING TOP ONLY
- CLICKING BOTTOM ONLY
*/
}
9 changes: 9 additions & 0 deletions population/pvp/trait/habit.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package trait

type HabitController struct {
/*
- CLICKING ORDER
- TIME TO VISIT
- ...
*/
}
12 changes: 12 additions & 0 deletions population/pvp/trait/mood.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package trait

type MoodController struct {
/*
- EROTIC
- NATURE
- CAR
- FASHION
- MOTO
- ...
*/
}
3 changes: 0 additions & 3 deletions population/trait/behaviour.go

This file was deleted.

3 changes: 0 additions & 3 deletions population/trait/decision.go

This file was deleted.

3 changes: 0 additions & 3 deletions population/trait/fact.go

This file was deleted.

3 changes: 0 additions & 3 deletions population/trait/habit.go

This file was deleted.

3 changes: 0 additions & 3 deletions population/trait/location.go

This file was deleted.

3 changes: 0 additions & 3 deletions population/trait/mood.go

This file was deleted.

7 changes: 7 additions & 0 deletions population/vhs/communicator.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package vhs

type Communicator interface {

Query(interface {}, interface {}) interface {}
Train(interface {}, interface {}) interface {}
}
1 change: 1 addition & 0 deletions population/vhs/communicator/audio.go
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package communicator
1 change: 1 addition & 0 deletions population/vhs/communicator/elasticfeed_protocol.go
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package communicator
1 change: 1 addition & 0 deletions population/vhs/communicator/video_audio.go
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package communicator
Loading