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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gni91220.pro

?? prolog,人工智能推理程序,運(yùn)行環(huán)境prolog
?? PRO
字號:
/*Copyright (c) 1986, 88 by Borland International, Inc.
*/
code = 4000
/*This is a small example of how to create a
  classification expert-system in TURBO-
  Prolog.
  Animals are classified in different
  categories which are then broken up into
  smaller categories. One can move from one
  category to another if a number of
  conditions are fulfilled.
  In this system the conditions are added
  together. The first thing that is needed is
  'or' and 'not'.
  Please understand this is a simple example
  not a finished expert-system development
  tool. */
DOMAINS
  CONDITIONS = BNO*            HISTORY = RNO*
  RNO, BNO, FNO = INTEGER      CATEGORY = STRING
  data_file = string           file = save_file
  slist = string*
DATABASE
  rule(RNO,CATEGORY,CATEGORY,CONDITIONS)
  cond(BNO,STRING)             data_file(data_file)
  yes(BNO)     unknow(BNO)     no(BNO)
  fact(FNO,CATEGORY,CATEGORY)  topic(string)
  reason(RNO,CONDITIONS)       maximum(string,integer) 
include "tdoms.pro"
include "tpreds.pro"
include "menu2.pro"
PREDICATES
/*****************************************COMMANDS*****************************/
  title_go                     update
  edit_kb                      list
  llist(HISTORY,string)        load_know
  save_know                    pick_dba(data_file)
  erase                        clear
  proces(integer)              endd(integer)
  listopt                      evalans(char)
  info(CATEGORY)               goes(CATEGORY)
  run                 reverse(CONDITIONS,CONDITIONS)
  reverse1(CONDITIONS,CONDITIONS,CONDITIONS)
/****************************INFERENCES MECHANISMS*****************************/
  go(HISTORY,CATEGORY)         check(RNO,HISTORY,CONDITIONS)
  inpq(HISTORY,RNO,BNO,STRING) do_answer(HISTORY,RNO,STRING,BNO,INTEGER)
  count(CONDITIONS,integer)    terminal_goal(RNO,CATEGORY)
  make_reason(RNO,BNO)         file_name(string) 
  find_max(string,integer)     store_max(string,integer)
  store_max(string,integer)    head_is_a_not(BNO,string)
  remove_not(string,string)
/*************************************EXPLANATIONS*****************************/
  sub_cat(CATEGORY,CATEGORY,CATEGORY)
  show_conditions(CONDITIONS,string)
  show_rule(RNO,string)        show_cond(BNO,string)
  report(HISTORY,string)       quest(CATEGORY,integer,integer,CATEGORY)
/*****************************UPDATA THE KNOWLEDGE*****************************/
  topict(string)               getrnr(RNO,RNO)
  getbnr(BNO,BNO)              readcondl(CONDITIONS)
  help                         getcond(BNO,STRING)
  save_y(char,string,data_file)
/******************************************************************************/
GOAL
  makewindow(1,49,72,"",4,0,20,80),
  makewindow(2,3,7,"",14,0,10,80),
  makewindow(5,7,0,"",0,0,4,80),
  makewindow(8,23,0,"",24,0,1,80),
  makewindow(9,7,0,"",0,0,25,80),
  run.
CLAUSES
 run :-
  repeat,
  shiftwindow(8),clearwindow,
  write("  select option with arrow key  "),
  shiftwindow(1),
  menu(6,55,7,7,["Consultation","Load knowledge",
       "Save knowledge","List knowledge",
       "Update knowledge","Erase knowledge",
       "Edit Knowledge","Help Information",
       "DOS Shell","Exit Geni"],"menu",2,CHOICE),
  proces(CHOICE),
  endd(CHOICE),!.
/***********************************PROCESS CHOICE*****************************/
 proces(0):-exit.
 proces(1):-title_go.          proces(2):-load_know. 
 proces(3):-save_know.         proces(4):-list.
 proces(5):-update.            proces(6):-erase. 
 proces(7):-edit_kb.           proces(8):-help.
 proces(9):-write("Borland ",'\3','\2'," you"),system("").
 proces(10).
 endd(0).
 endd(10):- clearwindow,
    write("Are you sure? (y or n) "),
    readchar(C),write(C),C='y',exit.
/******************************INFERENCE MECHANISM*****************************/
  title_go:-
    goes(Mygoal),nl,nl, 
    go([],Mygoal),!.
  title_go:- 
    nl,write("Sorry that one I did not know"),nl,update.
  goes(Mygoal):-
    clear,clearwindow,
    topict(Topic),
    repeat,
    write("You may select a general category( e.g. ",Topic,") \nor '?' for other options in the ",Topic,
    " domain.\n Enter Goal "),
    readln(Mygoal),
    info(Mygoal),!.
  topict(Topic) :- topic(Topic).
  topict(Topic) :- write("Enter a name that represents \nthis knowledge domain\n  : "),
    readln(Topic),assert(topic(Topic)).
  go( _, Mygoal ):-      /****  My best guess  ****/
    /*not(rule(_,Mygoal,_,_)),!,nl,*/
    terminal_goal(_,Mygoal),
    nl,write("I think it is a(n): ",Mygoal),nl,nl,
    write("I was right, wasn't I? (enter y or n)"),
    readchar(Ans),evalans(Ans).
  go( HISTORY, Mygoal ):-
    rule(RNO,Mygoal,NY,COND),asserta(reason(RNO,[])),
    check(RNO,HISTORY, COND),
    go([RNO|HISTORY],NY).
  go( [RNO|_],Mygoal ):-
    reason(RNO,COND),  count(COND,True),
    rule(RNO,_,_,COND),count(COND,Total),
    Certainty=True/Total*100,
    nl,write(" I think it is a(n): ",Mygoal," with ",Certainty,"% Certainty"),nl,
    !,assert(maximum("",0)), find_max(Ny,Ct),
    write(" I think it may be a(n): ",Ny," with ",Ct,"% Certainty"),nl.              
  find_max(Ny,Ct):- 
    reason(RNO,COND),terminal_goal(RNO,_),count(COND,True),
    rule(RNO,_,Ny,COND1),count(COND1,Total),
    Ct=True/Total*100,store_max(Ny,Ct),fail.
  find_max(Ny,Ct):- maximum(Ny,Ct).   
  store_max( _,Ct):- maximum(  _,Ct1), Ct1>=Ct, !.
  store_max(Ny,Ct):- maximum(Ny1,Ct1), Ct1< Ct, 
    assert(maximum(Ny,Ct)), retract(maximum(Ny1,Ct1)), !.  
  
  check( RNO, HISTORY, [BNO|REST] ):- yes(BNO),          !, 
    make_reason(RNO,BNO),          
    !, check(RNO,HISTORY,REST).
  check( RNO, HISTORY, [BNO|REST] ):- no(BNO),           !,
    terminal_goal(RNO,_),          
    !, check(RNO,HISTORY,REST). 
  check( RNO, HISTORY, [BNO|REST] ):- unknow(BNO),       !,
    terminal_goal(RNO,_),          
    !, check(RNO,HISTORY,REST).
  check( RNO, HISTORY, [BNO|REST] ):- 
    head_is_a_not(BNO,COND),cond(BNO1,COND),no(BNO1),    !,  
    make_reason(RNO,BNO),         
    !, check(RNO,HISTORY,REST).
  check( RNO, HISTORY, [BNO|REST] ):- 
    head_is_a_not(BNO,COND),cond(BNO1,COND),yes(BNO1),   !,      
    terminal_goal(RNO,_),           
    !, check(RNO,HISTORY,REST).
  check( RNO, HISTORY, [BNO|REST] ):-
    head_is_a_not(BNO,COND),cond(BNO1,COND),unknow(BNO1),!,
    terminal_goal(RNO,_),
    !, check(RNO,HISTORY,REST).
  check( RNO, HISTORY, [BNO|REST] ):-
    cond(BNO,TEXT),                 
    inpq(HISTORY,RNO,BNO,TEXT),     
    !, check(RNO,HISTORY,REST).
  check( RNO, _, [] ):- 
    reason(RNO,COND),reverse(COND,COND1),
    rule(RNO,_,_,COND1),         !.
  check( RNO, _, [] ):- not(terminal_goal(RNO,_)), !.
  
  count([],0).
  count([_|Tail],N):- count(Tail,N1),N=N1+1.
  make_reason(RNO,BNO):-
    reason(RNO,BNOlist),
    asserta(reason(RNO,[BNO|BNOlist])),
    retract(reason(RNO,BNOlist)), !.
  make_reason(RNO,BNO):-
    assert(reason(RNO,[BNO])).
  terminal_goal(RNO,N):-
    rule(RNO,_,N,_),not(rule(_,N,_,_)).        
    
  inpq(HISTORY,RNO,BNO,TEXT):-remove_not(TEXT,TEXT1),
    write("Is it true that ",TEXT1,": "),
    ROW = 14,COL = 60, 
    menu(ROW,COL,7,7,[yes,unknow,no,why],"",1,CHOICE),
    do_answer(HISTORY,RNO,TEXT,BNO,CHOICE).
  do_answer(_,_,_,_,0):-exit.
  do_answer(_,_,_,BNO,1):- head_is_a_not(BNO,COND),
    cond(BNO1,COND),assert(yes(BNO1)),
    shiftwindow(1),write(yes),nl,fail.
  do_answer(_,RNO,_,BNO,1):- not(head_is_a_not(BNO,_)),assert(yes(BNO)),
    make_reason(RNO,BNO),
    shiftwindow(1),write(yes),nl.
  do_answer(_,_,_,BNO,2):- assert(unknow(BNO)),
    shiftwindow(1),write(unknow),nl,fail.
  do_answer(_,_,_,BNO,3):- head_is_a_not(BNO,COND),
    cond(BNO1,COND),assert(no(BNO1)),
    shiftwindow(1),write(no),nl.
  do_answer(_,_,_,BNO,3):- not(head_is_a_not(BNO,_)),assert(no(BNO)),
    shiftwindow(1),write(no),nl,fail.
  do_answer(HISTORY,RNO,TEXT,BNO,4):- !,
    shiftwindow(2),
    rule( RNO, Mygoal1, Mygoal2, _ ),
    sub_cat(Mygoal1,Mygoal2,Lstr),
    concat("I try to show that: ",Lstr,Lstr1),
    concat(Lstr1,"\nBy using rule number ",Ls1),
    str_int(Str_num,RNO), concat(Ls1,Str_num,Ans),
    show_rule(RNO,Lls1),
    concat(Ans,Lls1,Ans1),
    report(HISTORY,Sng),
    concat(Ans1,Sng,Answ),
    display(Answ),
    shiftwindow(8), clearwindow,
    write("   Use Arrow Keys To Select Option  "),
    shiftwindow(1),
    ROW = 14,COL = 60,
    menu(ROW,COL,7,7,[yes,unknow,no,why],"",1,CHOICE),
    do_answer(HISTORY,RNO,TEXT,BNO,CHOICE).
  head_is_a_not(BNO,COND):-cond(BNO,NCOND),
    fronttoken(NCOND,"not",_COND),
    frontchar(_COND,_,COND).
  remove_not(TEXT,TEXT1):- 
    fronttoken(TEXT,"not",_TEXT),frontchar(_TEXT,_,TEXT1), !.
  remove_not(TEXT,TEXT1):- TEXT1=TEXT. 

/************* LIST RULES / EXPLANATION MECHANISM *****************************/
  list :- findall(RNO,rule(RNO,_,_,_),LIST),
    llist(List,Str),!,display(Str),!.
  llist([],"") :-!.
  llist([RNO|List],Str):-
    llist(List,Oldstr),
    show_rule(RNO,RNO_Str),
    concat(RNO_Str,Oldstr,Str).
  show_rule(RNO,Strg):-
    rule( RNO, Mygoal1, Mygoal2, CONDINGELSER),
    str_int(RNO_str,RNO),
    concat("\n Rule ",RNO_str,Ans),
    concat(Ans,": ",Ans1),
    sub_cat(Mygoal1,Mygoal2,Lstr),
    concat(Ans1,Lstr,Ans2),
    concat(Ans2,"\n     if ",Ans3),
    reverse(CONDINGELSER,CONILS),
    show_conditions(CONILS,Con),
    concat(Ans3,Con,Strg).
  show_conditions([],"").
  show_conditions([COND],Ans):-
    show_cond(COND,Ans),!.
  show_conditions([COND|REST],Ans):-
    show_cond(COND,Text),
    concat("\n    and ",Text,Nstr),
    show_conditions(REST,Next_ans),
    concat(Next_ans,Nstr,Ans).
  show_cond(COND,TEXT):-cond(COND,TEXT).
  sub_cat(Mygoal1,Mygoal2,Lstr):-
    concat(Mygoal1," is a ",Str),
    concat(Str,Mygoal2,Lstr).
  report([],"").
  report([RNO|REST],Strg) :-
    rule( RNO, Mygoal1, Mygoal2, _),
    sub_cat(Mygoal1,Mygoal2,Lstr),
    concat("\nI have shown that: ",Lstr,L1),
    concat(L1,"\nBy using rule number ",L2),
    str_int(Str_RNO,RNO),
    concat(L2,Str_RNO,L3),
    concat(L3,":\n ",L4),
    show_rule(RNO,Str),
    concat(L4,Str,L5),
    report(REST,Next_strg),
    concat(L5,Next_strg,Strg).
/************************UPDATE THE KNOWLEDGE BASE*****************************/
  getrnr(N,N):-not(rule(N,_,_,_)),!.
  getrnr(N,N1):-H=N+1,getrnr(H,N1).
  getbnr(N,N):-not(cond(N,_)),!.
  getbnr(N,N1):-H=N+1,getbnr(H,N1).
  readcondl( [BNO|R] ):-
    write("condition: "), readln(COND), COND><"",!,
    getcond(BNO,COND), readcondl( R ).
  readcondl( [] ).
  getcond(BNO,COND):-cond(BNO,COND),!.
  getcond(BNO,COND):-getbnr(1,BNO), assert( cond(BNO,COND) ).
/***********************************EDIT KNOWLEDGE*****************************/
  edit_kb :-
    pick_dba(Filename), file_str(Filename,Data),
    edit(Data,NewData), clearwindow,
    write("Save Knowledge Base (enter y or n) "),
    readchar(Ans), save_y(Ans,NewData,Filename).
  save_y('y',D,Filename):-
    openwrite(save_file,Filename),
    writedevice(save_file), write(D),
    closefile(save_file).
  save_y('n',_,_).
/*****************************************HELP !!!*****************************/
  help :- file_str("geni.hlp",Help),
    display(Help).
/************************************User commands*****************************/
  load_know:-erase,pick_dba(Data), consult(Data).
/*save_know :- data_file(Data), bound(Data),!,
    save(Data),clearwindow,
    writef(" Your % Knowledge base has been saved",Data).*/
  save_know :- makewindow(11,10,9,"Name of the file",10,40,4,35),
    write("Enter Knowledge\nBase Name: "),
    readln(Data), file_name(Data),
    removewindow, save(Data), clearwindow,
    writef(" Your % Knowledge base has been saved",Data).
  file_name(Data):- data_file(Data),!.
  file_name(Data):- assert(data_file(Data)).
  pick_dba(Data):- makewindow(10,7,7,"PICK A DATA FILE",10,10,10,60),
    dir("","*.gni",Data),removewindow.
  erase:-retract(_),fail.
  erase.
  clear:-retract(yes(_)),fail.
  clear:-retract(no(_)),fail.
  clear:-retract(unknow(_)),fail.
  clear:-retract(reason(_,_)),fail.
  clear:-retract(maximum(_,_)),fail.
  clear.
  update:-
    shiftwindow(5), clearwindow,
    write("\n\tUpdate knowledge\n\t****************\n"),
    cursor(1,30),   write("Name of category: "),
    cursor(3,30),   write("Name of subcategory: "),
    cursor(1,50),   readln(KAT1), 
    KAT1><"",     quest(KAT1,1,50,KAT),
    cursor(3,50),   readln(SUB1),
    SUB1><"",     quest(SUB1,3,50,SUB),
    readcondl(CONDL),
    getrnr(1,RNO),
    assert( rule(RNO,KAT,SUB,CONDL) ),update.
  quest(Q,X,Y,Q2):- Q = "?",
    shiftwindow(2),clearwindow,
    write("The categories and subcategories are objects. For example:\n"),nl,
    write("subcategory|-----| category|-----|[condition1  |------|  condition2]\n"),
    write("___________|_____|_______________|_____________|______|____________"),nl,
    write("mammal     |is an| animal  |if it| has hair    |and it|  gives milk\n"),
    write("bird       |is an| animal  |if it| has feathers|and it|  lays eggs\n"),
    shiftwindow(5), cursor(X,Y), readln(Q2).
  quest(Q,_,_,Q).
  info("?") :-
    shiftwindow(2), clearwindow,
    write("Enter the type of thing you are trying to classify."),
    listopt,nl,nl, write(" press any key "),
    readchar(_), shiftwindow(1), clearwindow, fail.
  info(X) :- X>< "?".
  listopt :-
    write(" The options are:\n\n"),
    rule(_,Ans,_,_), write(Ans,"  "), fail.
  listopt.
  evalans('y'):-
    write("\nOf course, I am always right!").
  evalans(_):-
    write(" you're the boss \n  Update my Knowledge Base!"),!,run.
/**********************************SYSTEM COMMANDS*****************************/
  reverse(X,Y):-
     reverse1([],X,Y).
  reverse1(Y,[],Y).
  reverse1(X1,[U|X2],Y):-reverse1([U|X1],X2,Y).
  
     

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久精品免费| 一本高清dvd不卡在线观看| 亚洲第一在线综合网站| 国产精品久线观看视频| 精品国产乱码久久| 91精品综合久久久久久| 欧美日韩大陆一区二区| 色综合天天狠狠| 成人h动漫精品| 国产成人亚洲综合a∨婷婷 | 91精品福利在线| zzijzzij亚洲日本少妇熟睡| 国产精品亚洲人在线观看| 国内精品国产三级国产a久久| 樱花草国产18久久久久| 国产精品视频一区二区三区不卡| 精品国产伦一区二区三区免费| 91精品国产全国免费观看| 欧美中文字幕久久| 欧美亚洲综合久久| 欧美日韩在线播放三区| 欧美日韩一区二区三区在线看| 欧美网站一区二区| 在线日韩国产精品| 欧美色图12p| 91麻豆精品国产无毒不卡在线观看| 在线观看网站黄不卡| 在线观看日韩一区| 欧美最新大片在线看| 欧美亚日韩国产aⅴ精品中极品| 国产精品一区二区不卡| 成人免费观看男女羞羞视频| 9久草视频在线视频精品| 91丨porny丨中文| 色8久久人人97超碰香蕉987| 欧美图片一区二区三区| 欧美日韩的一区二区| 欧美日韩和欧美的一区二区| 欧美一区在线视频| 久久噜噜亚洲综合| 中文字幕免费不卡| 亚洲精品菠萝久久久久久久| 日韩精品久久理论片| 国产在线看一区| 国产精品69久久久久水密桃| 国产不卡在线一区| 93久久精品日日躁夜夜躁欧美| 色噜噜狠狠成人中文综合| 欧美丝袜丝交足nylons| 日韩一区二区免费电影| 国产日韩欧美高清| 国产精品国产三级国产普通话蜜臀| 国产精品无人区| 亚洲线精品一区二区三区八戒| 青娱乐精品在线视频| 国产91丝袜在线18| 欧洲视频一区二区| 精品国产欧美一区二区| 最新高清无码专区| 日本视频中文字幕一区二区三区| 国产在线视频精品一区| 在线亚洲人成电影网站色www| 欧美一区二区三区四区五区| 国产精品入口麻豆原神| 亚洲午夜一区二区三区| 国产呦精品一区二区三区网站| 波波电影院一区二区三区| 欧美精选一区二区| 中文字幕在线视频一区| 亚洲国产成人va在线观看天堂| 黄色小说综合网站| 欧美亚洲综合色| 久久人人爽爽爽人久久久| 亚洲尤物在线视频观看| 国产一区不卡在线| 在线免费观看视频一区| 欧美精品一区二区三区久久久| 欧美国产综合一区二区| 日本特黄久久久高潮| 91麻豆文化传媒在线观看| 精品国产污网站| 午夜成人免费电影| 99精品国产91久久久久久| 精品999久久久| 亚洲女爱视频在线| 国产成人综合在线播放| 欧美精品乱码久久久久久| 日韩一区在线免费观看| 国产一区二区不卡老阿姨| 91麻豆精品国产自产在线| 亚洲综合久久久久| 国产sm精品调教视频网站| 日韩精品一区二| 亚洲大尺度视频在线观看| www.亚洲精品| 日本一区二区成人在线| 午夜久久久久久久久| 91美女精品福利| 国产精品不卡一区二区三区| 国产米奇在线777精品观看| 日韩精品在线一区| 日韩精品久久久久久| 欧洲精品在线观看| 一区视频在线播放| 国产不卡视频在线观看| 精品成人一区二区三区四区| 日韩成人av影视| 欧美男女性生活在线直播观看| 亚洲精品ww久久久久久p站 | 欧美精品久久久久久久多人混战 | 国产精品私人影院| 国产成人aaa| 26uuu欧美日本| 精品一区二区三区久久久| 欧美精品v国产精品v日韩精品| 亚洲乱码国产乱码精品精的特点| 99精品国产一区二区三区不卡| 日本一区二区高清| 菠萝蜜视频在线观看一区| 国产亚洲欧美一区在线观看| 久久99国产乱子伦精品免费| 欧美一级二级三级蜜桃| 秋霞午夜av一区二区三区| 日韩精品中文字幕在线一区| 精品一区二区久久| 久久丝袜美腿综合| 国产麻豆视频精品| 欧美激情一区二区三区全黄| 色呦呦一区二区三区| 日韩电影一区二区三区四区| 久久精品一二三| 97se狠狠狠综合亚洲狠狠| 午夜精品福利一区二区蜜股av| 欧美大度的电影原声| 成人爱爱电影网址| 亚洲超丰满肉感bbw| 久久美女高清视频| 欧美性色黄大片手机版| 毛片不卡一区二区| 国产精品电影一区二区三区| 欧美日韩视频专区在线播放| 国产在线麻豆精品观看| 亚洲欧美日韩久久| 精品久久久久久综合日本欧美| proumb性欧美在线观看| 午夜精品福利久久久| 中文子幕无线码一区tr| 欧美日韩一区小说| 国产美女久久久久| 亚洲高清视频的网址| 国产网站一区二区| 56国语精品自产拍在线观看| 丁香婷婷深情五月亚洲| 日本视频中文字幕一区二区三区| 中文字幕免费观看一区| 91精品国产综合久久精品图片| 国产a级毛片一区| 日本成人在线不卡视频| 国产精品久久久久久久久图文区 | 日韩精品一区二区三区四区 | 中日韩av电影| 日韩午夜小视频| 91激情在线视频| 成人午夜激情视频| 蜜臀av一区二区三区| 一区二区国产盗摄色噜噜| 国产欧美日本一区二区三区| 欧美精品免费视频| 色综合激情久久| 成人精品鲁一区一区二区| 欧美a级一区二区| 亚洲香肠在线观看| 成人免费在线视频| 久久久久88色偷偷免费| 欧美一区二区视频在线观看 | 国产精品免费看片| 久久色.com| 日韩欧美国产高清| 欧美日韩国产一二三| 色综合久久综合中文综合网| 成人禁用看黄a在线| 久久电影国产免费久久电影| 亚洲成人自拍偷拍| 亚洲综合色视频| 亚洲美女屁股眼交3| 国产欧美日韩不卡| 久久久99精品久久| 精品成人免费观看| 日韩美一区二区三区| 欧美高清精品3d| 欧美狂野另类xxxxoooo| 精品视频一区二区不卡| 欧洲av一区二区嗯嗯嗯啊| 日本高清成人免费播放| 972aa.com艺术欧美| 99精品视频中文字幕| 不卡视频一二三| 99精品久久只有精品| aaa欧美大片| 色婷婷综合久久|