Livingrimoire Wiki – جامعه dev

مقدمه
زندگی یک الگوی طراحی نرم افزار است که فقط با یک خط کد مورد نیاز برای اضافه کردن مهارت ، مهارت ها را جذب می کند.
مزایای Livingrimoire
- اولویت بندی مهارت: می تواند مهارت ها را در برابر یکدیگر در اولویت قرار دهد ، با توجه به اولویت آنها ، مهارت های مکث و از سرگیری را از سر بگیرد.
- صف الگوریتم: می تواند الگوریتم های صف را هنگام اجرای الگوریتم های دیگر صف کند.
- تعامل مهارت همزمان: می تواند چندین مهارت را به یکباره درگیر کند و مهارت های مناسب را درگیر کند.
- ارتباط بین مهارت: مهارت ها می توانند با یکدیگر ارتباط برقرار کنند ، داده ها را منتقل کنند و بر یکدیگر تأثیر بگذارند.
- سازگاری متقابل پلتفرم: از رابط استفاده نمی شود و آن را برای همه زبانهای برنامه نویسی OOP کاربرد دارد.
- کلاسهای کمکی: تخصصی برای یادگیری و مدیریت محرک ، با کلاسهای متفرقه برای صرفه جویی در وقت در اقدامات کدگذاری مشترک.
- الگوریتم های چند مرحله ای: می تواند الگوریتم های چند مرحله ای و الگوریتم های سقط را در حین اجرا تشکیل دهد.
- کاتالوگ مهارت داخلی: دارای یک کاتالوگ مهارت داخلی است (برای کسب اطلاعات بیشتر به ویکی مراجعه کنید).
- مدیریت مهارت پویا: می تواند از مهارت های خودآگاهی استفاده کند ، و این امکان را برای آنها فراهم می کند تا در حالی که برنامه در حال اجرا است ، مهارت های دیگر را اضافه یا حذف کنند ، مشابه یک ترمینال فرمان (به ویکی Theshell مراجعه کنید).
روش عمل
ال جی می تواند مهارت ها را جذب کرده و از آنها استفاده کند.
- یک مهارت در صورت ایجاد الگوریتم ها را ارسال می کند.
- الگوریتم سعید با لیستی از قطعات (کلاس جهش یافته) ساخته شده است.
- همانطور که الگوریتم در حال اجرا است ، روش عمل هر mutatable درگیر است و یک رشته را خروجی می کند.
- الگوریتم در حال اجرا نیز می تواند در هر زمان با تنظیم جهش پذیر (ALGPART Superclass) سقط شود
algKillSwitch
ویژگی به TRUE.
برای نمونه های کلاس جهش یافته به کلاسهای AP مراجعه کنید.
برای مثال مهارت ، کلاس جهانی Dihello را ببینید.
شروع
برای استفاده از LivingRimoire ، زبان برنامه نویسی مورد نظر خود را انتخاب کرده و پرونده های LivingRimoire را چسبانده اید.
برای نگه داشتن پروژه های LG مرتب و مرتب ، توصیه می کنم پروژه را حداقل در 2 بسته جدا کنید:
- الگور: کوتاه برای زندگی Grimoire Core. این پرونده های کلاس اصلی هستند که الگوی طراحی نرم افزار AGI را تشکیل می دهند.
-
مهارت: این فهرست باید شامل:
- کلاس های مهارت (کنوانسیون نامگذاری: نام کلاس با DI شروع می شود)
- algparts (کنوانسیون نامگذاری: نام کلاس با AP شروع می شود)
سلام جهان
مثال استفاده در اصلی:
Chobits chi = new Chobits();
chi.addSkill(new DiHelloWorld());
System.out.println(chi.think("hello","",""));
System.out.println(chi.think("","",""));
خروجی:
hello world
Dihello World یک مهارت نمونه است که می گوید “سلام جهان” به عنوان پاسخ به “سلام”:
public class DiHelloWorld extends Skill {
// hello world skill for testing purposes
public DiHelloWorld() {
super();
}
@Override
public void input(String ear, String skin, String eye) {
switch (ear) {
case "hello":
super.setSimpleAlg("hello world"); // 1->5 1 is the highest algorithm priority
break;
}
}
@Override
public String skillNotes(String param) {
if ("notes".equals(param)) {
return "plain hello world skill";
} else if ("triggers".equals(param)) {
return "say hello";
}
return "note unavailable";
}
}
کلاس Chobits: API
public class Chobits {
public Chobits();
public void setDataBase(AbsDictionaryDB absDictionaryDB);
// your DB should override simple load and save functions.
public Chobits addSkill(Skill skill);
public Chobits addSkillAware(Skill skill);
// these skills get the Chobit Object shallow ref as an attribute
// see Artificial Intelligence Hormones wiki for more
public void clearSkills();
public void addSkills(Skill... skills);
public void removeSkill(Skill skill);
public Boolean containsSkill(Skill skill);
public String think(String ear, String skin, String eye);
// this skill needs to run in each think cycle. it engages the equipped skills.
public String getSoulEmotion();
// returns alg part's name representing emotion.
protected void inOut(Skill dClass, String ear, String skin, String eye);
public Kokoro getKokoro();
public void setKokoro(Kokoro kokoro);
public Fusion getFusion();
// (underuse) you may need this method if you want to override the think method.
public ArrayList<String> getSkillList();
}
کلاس مهارت: API
هر مهارت از این کلاس غلبه می کند.
public class Skill {
protected Kokoro kokoro = null;
protected Algorithm outAlg = null;
protected int outpAlgPriority = -1;
public Skill();
public void input(String ear, String skin, String eye);
// skill's triggers, logic, and output go here.
protected void setVerbatimAlg(int priority, String... sayThis);
// build an algorithm to output string_N per think cycle.
// set algorithm priority 1->5 with 5 being the lowest priority to run.
protected void setSimpleAlg(String... sayThis);
// build an algorithm to output string_N per think cycle.
// set algorithm priority to a default of 4.
protected void setVerbatimAlgFromList(int priority, ArrayList<String> sayThis);
protected void algPartsFusion(int priority, Mutatable... algParts);
// use custom non-default alg Parts(Mutatable subclasses) in your algorithm.
// override the action logic. the class's name can represent emotion.
public String strContainsList(String str1, ArrayList<String> items);
// does str1 contain an item from items? This method can be used for some triggers
// but it depends on the trigger logic you want to implement.
// I like having it accessible.
public String skillNotes(String param);
// see "built-in skill catalog" wiki.
}
کلاس Kokoro: API
در صورت لزوم برای برقراری ارتباط بین مهارت ها از این ویژگی در مهارت های خود استفاده کنید.
public class Kokoro {
private String emot = "";
public String getEmot();
// getter of string.
public void setEmot(String emot);
// setter of a string.
public GrimoireMemento grimoireMemento;
// access Chobit's database (it has simple save and load methods).
public Hashtable<String, String> toHeart;
// use this dictionary to communicate between skills.
public Kokoro(AbsDictionaryDB absDictionaryDB);
// set the database object (if needed).
}
کلاس مغز: API
کلاس مغز ادغام 2 chobits است: یکی برای مهارت های منظم (منطقی) و دیگری برای سخت افزار. خروجی اول به ورودی دوم می رود. به این ترتیب ، سخت افزار مناسب (TextTospeech ، GUI تغییر می کند ، سرعت چرخه فکر می کند) می تواند درگیر شود.
اگرچه مهارت های سخت افزاری نیز می تواند از طریق مهارت های منطقی درگیر شود ، اما مهارت های سخت افزاری را به سمت سخت افزار Chobit Object Object مغز جذب می کند ، داوری را ارائه می دهد.
توجه: شیء Kokoro برای هر دو Chobits به اشتراک گذاشته می شود.
public class Brain {
public Chobits logicChobit;
public Chobits hardwareChobit;
private String emotion = "";
private String bodyInfo = "";
private String logicChobitOutput = "";
public String getEmotion();
// get logical chobit's active alg part's name.
public String getLogicChobitOutput();
public Brain();
public void doIt(String ear, String skin, String eye);
// this method must be engaged in each (think) cycle.
public void addLogicalSkill(Skill skill);
// add a skill to the logical chobit.
public void addHardwareSkill(Skill skill);
// add a skill to the hardware chobit.
}
کنوانسیون نامگذاری پیشنهادی
-
AP: نام کلاس Algparts باید با AP شروع شود. به عنوان مثال ،
APSay
بشر -
از: مهارت (نام کلاس مهارت LivingRimoire) باید با دی شروع شود. به عنوان مثال ،
DiHelloWorld
بشر - وت: daskills مهارت هایی هستند که ناهمزمان هستند.
-
تبر: ماژول های کمکی. نام این کلاس ها می تواند با AX شروع شود. به عنوان مثال ،
AXLearnability
بشر -
مون: مهارت های هورمون هوش مصنوعی. این مهارت ها با chobits در سازنده خود هستند و به آنها این امکان را می دهد تا مهارت های دیگری را که شیء Chobit مجهز به آن است ، اضافه یا حذف کنند. هر مهارت هورمون هوش مصنوعی منطق خاص خود را دارد. به عنوان مثال ،
AHMoodRegulator
بشر
لینک