亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.~cpp

?? 通過人工智能算法快速實現神經網絡識別
?? ~CPP
字號:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "main.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void TForm1::Initialize(void)
{
        Rules[0].SetRule(Punch, Punch, Punch);
        Rules[1].SetRule(Punch, Punch, LowKick);
        Rules[2].SetRule(Punch, Punch, HighKick);
        Rules[3].SetRule(Punch, LowKick, Punch);
        Rules[4].SetRule(Punch, LowKick, LowKick);
        Rules[5].SetRule(Punch, LowKick, HighKick);
        Rules[6].SetRule(Punch, HighKick, Punch);
        Rules[7].SetRule(Punch, HighKick, LowKick);
        Rules[8].SetRule(Punch, HighKick, HighKick);
        Rules[9].SetRule(LowKick, Punch, Punch);
        Rules[10].SetRule(LowKick, Punch, LowKick);
        Rules[11].SetRule(LowKick, Punch, HighKick);
        Rules[12].SetRule(LowKick, LowKick, Punch);
        Rules[13].SetRule(LowKick, LowKick, LowKick);
        Rules[14].SetRule(LowKick, LowKick, HighKick);
        Rules[15].SetRule(LowKick, HighKick, Punch);
        Rules[16].SetRule(LowKick, HighKick, LowKick);
        Rules[17].SetRule(LowKick, HighKick, HighKick);
        Rules[18].SetRule(HighKick, Punch, Punch);
        Rules[19].SetRule(HighKick, Punch, LowKick);
        Rules[20].SetRule(HighKick, Punch, HighKick);
        Rules[21].SetRule(HighKick, LowKick, Punch);
        Rules[22].SetRule(HighKick, LowKick, LowKick);
        Rules[23].SetRule(HighKick, LowKick, HighKick);
        Rules[24].SetRule(HighKick, HighKick, Punch);
        Rules[25].SetRule(HighKick, HighKick, LowKick);
        Rules[26].SetRule(HighKick, HighKick, HighKick);

        WorkingMemory.strikeA = sUnknown;
        WorkingMemory.strikeB = sUnknown;
        WorkingMemory.strikeC = sUnknown;
        PreviousRuleFired = -1;

        N = 0;
        NSuccess = 0;
        NRandomSuccess = 0;
        UpdateForm();
}

TStrikes TForm1::ProcessMove(TStrikes move)
{
        int     i;
        int     RuleToFire = -1;

        if(WorkingMemory.strikeA == sUnknown)
        {
                WorkingMemory.strikeA = move;
                return sUnknown;
        }

        if(WorkingMemory.strikeB == sUnknown)
        {
                WorkingMemory.strikeB = move;
                return sUnknown;
        }

        // tally and adjust weights...
        N++;
        if(move == Prediction)
        {
                NSuccess++;
                if(PreviousRuleFired != -1)
                        Rules[PreviousRuleFired].weight++;
        } else {
                if(PreviousRuleFired != -1)
                        Rules[PreviousRuleFired].weight--;

                // backward chain to increment the rule that should have been fired
                for(i=0; i<NUM_RULES; i++)
                {
                        if(Rules[i].matched && (Rules[i].consequentC == move))
                        {
                                Rules[i].weight++;
                                break;
                        }
                }
                
        }

        if(move == RandomPrediction)
                NRandomSuccess++;

        // roll back...
        WorkingMemory.strikeA = WorkingMemory.strikeB;
        WorkingMemory.strikeB = move;

        // make prediction...
        for(i=0; i<NUM_RULES; i++)
        {
                if(Rules[i].antecedentA == WorkingMemory.strikeA &&
                   Rules[i].antecedentB == WorkingMemory.strikeB)
                        Rules[i].matched = true;
                else
                        Rules[i].matched = false;
        }

        // pick the matched rule with the highest weight...
        RuleToFire = -1;
        for(i=0; i<NUM_RULES; i++)
        {
                if(Rules[i].matched)
                {
                        if(RuleToFire == -1)
                                RuleToFire = i;
                        else if(Rules[i].weight > Rules[RuleToFire].weight)
                                RuleToFire = i;
                }
        }

        // fire the rule
        if(RuleToFire != -1) {
                WorkingMemory.strikeC = Rules[RuleToFire].consequentC;
                PreviousRuleFired = RuleToFire;
        } else {
                WorkingMemory.strikeC = sUnknown;
                PreviousRuleFired = -1;
        }

        return WorkingMemory.strikeC;

}
void __fastcall TForm1::Button1Click(TObject *Sender)
{


        Prediction = ProcessMove(Punch);
        RandomPrediction =  (TStrikes) rand() % 3;
        UpdateForm();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
        

        Prediction = ProcessMove(LowKick);
        RandomPrediction =  (TStrikes) rand() % 3;
        UpdateForm();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)
{
        Prediction = ProcessMove(HighKick);
        RandomPrediction =  (TStrikes) rand() % 3;
        UpdateForm();
}
//---------------------------------------------------------------------------
void    TForm1::UpdateForm(void)
{
        String        tmp;

        StringGrid1->Cells[0][0] = "Rule #";
        StringGrid1->Cells[1][0] = "ant. A";
        StringGrid1->Cells[2][0] = "ant. B";
        StringGrid1->Cells[3][0] = "con. C";
        StringGrid1->Cells[4][0] = "weight";

        for(int i=0; i<NUM_RULES; i++)
        {
                StringGrid1->Cells[0][i+1] = IntToStr(i);
                switch(Rules[i].antecedentA)
                {
                        case Punch: tmp = "Punch"; break;
                        case LowKick: tmp = "Low Kick"; break;
                        case HighKick: tmp = "High Kick"; break;
                }
                StringGrid1->Cells[1][i+1] = tmp;

                switch(Rules[i].antecedentB)
                {
                        case Punch: tmp = "Punch"; break;
                        case LowKick: tmp = "Low Kick"; break;
                        case HighKick: tmp = "High Kick"; break;
                }
                StringGrid1->Cells[2][i+1] = tmp;

                switch(Rules[i].consequentC)
                {
                        case Punch: tmp = "Punch"; break;
                        case LowKick: tmp = "Low Kick"; break;
                        case HighKick: tmp = "High Kick"; break;
                }
                StringGrid1->Cells[3][i+1] = tmp;

                StringGrid1->Cells[4][i+1] = IntToStr(Rules[i].weight);
        }

        switch(WorkingMemory.strikeA)
        {
                case Punch: Label6->Caption = "Punch"; break;
                case LowKick: Label6->Caption = "LowKick"; break;
                case HighKick: Label6->Caption = "HighKick"; break;
        }
        switch(WorkingMemory.strikeB)
        {
                case Punch: Label5->Caption = "Punch"; break;
                case LowKick: Label5->Caption = "LowKick"; break;
                case HighKick: Label5->Caption = "HighKick"; break;
        }

        switch(Prediction)
        {
                case Punch: Label8->Caption = "Punch"; break;
                case LowKick: Label8->Caption = "LowKick"; break;
                case HighKick: Label8->Caption = "HighKick"; break;
        }

        switch(RandomPrediction)
        {
                case Punch: Label7->Caption = "Punch"; break;
                case LowKick: Label7->Caption = "LowKick"; break;
                case HighKick: Label7->Caption = "HighKick"; break;
        }

        if(N>0)
        {
                Label9->Caption = FloatToStrF((double) NSuccess / (double) N, ffFixed, 15, 3);
                Label10->Caption = FloatToStrF((double) NRandomSuccess / (double) N, ffFixed, 15, 3);
        } else {
                Label9->Caption = "na";
                Label10->Caption = "na";
        }
}
void __fastcall TForm1::FormActivate(TObject *Sender)
{
        Initialize();        
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------

TRule::TRule()
{
        matched = true;
        weight = 0;
}

void TRule::SetRule(TStrikes A, TStrikes B, TStrikes C)
{
        antecedentA = A;
        antecedentB = B;
        consequentC = C;
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美综合欧美视频| 国产网站一区二区三区| 久久精品夜夜夜夜久久| 亚洲激情在线激情| 国产精品主播直播| 91麻豆精品国产91久久久久久久久| 国产日韩欧美不卡在线| 日韩在线播放一区二区| 色婷婷久久久久swag精品| 久久精品无码一区二区三区| 日韩精品电影在线| 欧美午夜影院一区| 亚洲三级在线观看| 不卡一区在线观看| 久久色.com| 狠狠色综合日日| 精品久久久久久久一区二区蜜臀| 亚洲综合精品久久| 色菇凉天天综合网| 亚洲日本va在线观看| 成人午夜视频网站| 中文av一区二区| 懂色av中文字幕一区二区三区| 精品毛片乱码1区2区3区| 日本vs亚洲vs韩国一区三区二区| 欧美性受xxxx黑人xyx| 亚洲免费大片在线观看| www.亚洲色图.com| 亚洲欧洲av色图| 99视频在线精品| 综合色中文字幕| 91网站在线观看视频| 综合分类小说区另类春色亚洲小说欧美| 国产精品1区2区3区| 国产午夜精品福利| 成人h精品动漫一区二区三区| 欧美国产精品劲爆| 97久久精品人人爽人人爽蜜臀 | 精品一区二区三区在线观看国产 | 精品欧美一区二区久久| 美女任你摸久久| 欧美成人一区二区| 国产九色sp调教91| 国产蜜臀av在线一区二区三区| 国产高清一区日本| 国产精品久久免费看| 91美女精品福利| 亚洲成人动漫在线观看| 在线播放欧美女士性生活| 麻豆精品视频在线观看免费| 精品国产乱码久久久久久浪潮| 国产精品69毛片高清亚洲| 国产精品国产精品国产专区不蜜 | 高清免费成人av| 国产精品超碰97尤物18| 日本韩国欧美三级| 蜜臀av性久久久久蜜臀av麻豆| 久久女同互慰一区二区三区| 99久久伊人网影院| 天堂蜜桃91精品| 精品久久国产老人久久综合| av一二三不卡影片| 日韩av电影免费观看高清完整版| 26uuu欧美日本| 91麻豆自制传媒国产之光| 视频一区二区不卡| 国产精品伦一区| 欧美精品v国产精品v日韩精品| 国产麻豆精品视频| 亚洲一区二区精品视频| 精品乱人伦小说| 在线免费观看不卡av| 精品亚洲成a人| 一区二区三区在线影院| 久久麻豆一区二区| 一本到一区二区三区| 国产一区二区三区精品欧美日韩一区二区三区 | 欧美国产乱子伦| 69堂成人精品免费视频| 成人综合婷婷国产精品久久蜜臀| 亚洲午夜免费福利视频| 久久精品夜色噜噜亚洲aⅴ| 欧美日韩午夜精品| 精品一区二区影视| 亚洲国产aⅴ天堂久久| 中文文精品字幕一区二区| 91麻豆精品91久久久久久清纯| 高清shemale亚洲人妖| 日本美女一区二区| 亚洲精品少妇30p| 日本一区二区三区久久久久久久久不| 9191成人精品久久| 91蝌蚪porny成人天涯| 国产大片一区二区| 国产综合久久久久影院| 日本aⅴ精品一区二区三区| 一区二区三区精密机械公司| 精品国产3级a| 欧美成人精品高清在线播放| 欧美剧情电影在线观看完整版免费励志电影 | 波多野结衣中文字幕一区| 精品一区二区日韩| 日本91福利区| 日产国产高清一区二区三区| 亚洲女人的天堂| 国产精品电影一区二区三区| 久久久不卡网国产精品一区| 日韩美女视频在线| 3d动漫精品啪啪| 欧美精选在线播放| 欧美午夜寂寞影院| 91福利在线播放| 欧美中文字幕一区| 欧美日精品一区视频| 在线国产电影不卡| 欧美视频在线播放| 欧美精品一二三四| 欧美一级在线免费| 日韩视频一区二区| 一区二区在线观看av| 亚洲激情第一区| 婷婷中文字幕综合| 蜜桃视频第一区免费观看| 久久99蜜桃精品| 粉嫩一区二区三区在线看| 岛国精品一区二区| 91传媒视频在线播放| 欧美二区乱c少妇| 精品久久久久久久久久久久包黑料 | 欧美一区二区三区性视频| 欧美一区二区三区婷婷月色| 精品国产1区2区3区| 精品va天堂亚洲国产| 欧美国产一区二区| 一区二区三区成人在线视频| 日韩福利视频网| 国产精品主播直播| 欧洲av一区二区嗯嗯嗯啊| 欧美一区二区三区在线看| 国产日韩欧美不卡| 亚洲成av人片在线观看无码| 麻豆91精品视频| 色综合久久久久综合99| 91精品一区二区三区久久久久久| 久久色在线视频| 亚洲精品菠萝久久久久久久| 日本不卡一区二区三区 | 国产亚洲一区二区三区四区 | 丝袜国产日韩另类美女| 极品美女销魂一区二区三区| 成人看片黄a免费看在线| 欧美视频精品在线观看| 久久久久青草大香线综合精品| √…a在线天堂一区| 另类欧美日韩国产在线| 91网址在线看| 久久久久久日产精品| 亚洲电影一区二区三区| 国产精品资源在线观看| 欧美猛男gaygay网站| 国产精品久久久一本精品| 日本亚洲三级在线| 一本大道综合伊人精品热热| 欧美成人乱码一区二区三区| 亚洲综合色在线| 国产成人鲁色资源国产91色综| 欧美日韩中字一区| 国产精品女上位| 精品在线播放午夜| 精品视频123区在线观看| 中文字幕精品综合| 日本欧美一区二区| 欧美性做爰猛烈叫床潮| 亚洲国产精品传媒在线观看| 偷拍一区二区三区| 色一情一乱一乱一91av| 国产欧美日韩三级| 久久国产精品72免费观看| 欧美三级韩国三级日本一级| 日韩一区中文字幕| 国产成人精品三级麻豆| 欧美变态tickling挠脚心| 亚洲18色成人| 欧美综合一区二区| 亚洲精品日日夜夜| 色诱亚洲精品久久久久久| 中文字幕av一区 二区| 国产福利精品导航| 久久免费视频一区| 国产尤物一区二区| 欧美成人在线直播| 蜜桃视频免费观看一区| 欧美一区二区黄| 美腿丝袜在线亚洲一区 | 久久久精品日韩欧美| 久久精品国内一区二区三区| 欧美一区二区三区日韩视频| 五月婷婷综合激情| 777久久久精品| 蜜桃视频一区二区|