#508055 - 2006-04-15 00:14:10
Re: re:五個村莊問題(解答)
|
三陽開泰
|
註冊: 2005-07-09
文章數: 3352
來自: 呆呆星球
|
|
還想問問天步大大... 多解是指什麼?? 哎.數學太差...程式只學過數據庫 5555555555555 語言對人類非常重要,在小學入學前,我就意識到腦部絕大部份是以語言方式思考的,只有極少部份是用圖形或其他方式思考. ------------------------------------- 555555555在學習英語後才注重到邏輯和思考方向的重要性....
|
↑回到頂端↑
|
|
|
|
#508056 - 2006-04-15 10:52:14
Re: re:五個村莊問題(解答)
|
一元復始
|
註冊: 2002-03-24
文章數: 1617
來自: 台北
|
|
>多解是指什麼?? "多解"是天步自訂的語詞,即是prolog語法中的"fail",要求電腦再求得另一解,而本題只有一解.
>語言對人類非常重要,在小學入學前,我就意識到腦部絕大部份是以語言方式思考的 沒錯,每個人的腦中都會有個聲音以自言自語的方式思考.
>只有極少部份是用圖形或其他方式思考. 思考有很多型式,藉由抽象的語言符號或感覺來思考.如音樂家以音符思考,數學家以數學符號思考,畫家以線條筆觸空間顏色等思考.美食專家用味道思考,武術家以肢體力量思考,而占星家則以星球的排列組合來思考.
>在學習英語後才注重到邏輯和思考方向的重要性 邏輯有一定的規則,要學並不難.但當條件多時則非人腦可勝任,排除太抽象無法建立規則外,電腦皆可輕易的解決.
_________________________
天步占星
|
↑回到頂端↑
|
|
|
|
#508057 - 2006-04-17 21:13:13
請問一下prolog的語法~從航班資料庫中
|
一元復始
|
註冊: 2002-03-24
文章數: 1617
來自: 台北
|
|
ㄚ弟請張貼問題於此議題下,以利管理.
1、 題目: 從航班資料庫中,找出資料能回答類似每週那幾天有從倫敦直飛賈納的班機?或如何才能在週四從賈納到艾丁堡去?或我想遊覽米蘭、賈納、蘇黎士,週二從倫敦出發且在週五回倫敦,一天飛機不能超過一班行程如何安排?
程式碼: prolog的語法有些部份我已解出來但是我跑出來會有一個錯誤一直解不出來,能否方便告訴我一下解答謝謝(有顏色畫出現部份能否幫我看一下是否正確)謝謝
:-op(50,xfy,:). flight(P1,P2,Day,Fln,DepT,ArrT):-timetable(P1,P2,FlL),member(DepT/ArrT/Fln/DayL,FlL),flyday(Day,DayL). flyday(Day,DayL):-member(???). flyday(Day,alldays):-member(Day,[mo,tu,we,th,fr,sa,su]). %直飛 route(P1,P2,Day,[P1-P2:Fln:DepT]):-flight(???). route(P1,P2,Day,[P1-P3:Fln1:DepT1|R]):- route(P3,P2,Day,R),flight(P1,P3,Day,Fln1,DepT1,ArrT1),deptime(R,DepT2),transfer(ArrT1,DepT2). deptime([DepT|_],DepT). transfer(H1:M1,H2:M2):-60*(H2-H1)+M2-M1>=40. %航班資料庫 timetable(艾丁堡,倫敦,[9:40/10:50/ba4733/alldays,13:40/14:50/ba4773/alldays,19:40/20:50/ba4833/[mo,tu,we,th,fr,su]]). timetable(倫敦,艾丁堡,[9:40/10:50/ba4732/alldays,11:40/12:50/ba4752/alldays,18:40/19:50/ba4822/[mo,tu,we,th,fr]]). timetable(倫敦,賈納,[13:20/16:20/ju201/[fr],13:20/16:20/ju213/[su]]). timetable(倫敦,蘇黎士,[9:10/11:45/ba614/alldays,14:45/17:20/sr805/alldays]). timetable(倫敦,米蘭,[8:30/11:20/ba510/alldays,11:00/13:50/az459/alldays]). timetable(賈納,蘇黎士,[11:30/12:40/ju322/[tu,th]]). timetable(賈納,倫敦,[11:10/12:20/ju200/[fr],11:25/12:20/ju212/[su]]). timetable(米蘭,倫敦,[9:10/10:00/az458/alldays,12:20/13:10/ba511/alldays]). timetable(米蘭,蘇黎士,[9:25/10:15/sr621/alldays,12:45/13:35/sr623/alldays]). timetable(蘇黎士,賈納,[13:30/14:40/ju323/[tu,th]]). timetable(蘇黎士,倫敦,[9:00/9:40/ba613/[mo,tu,we,th,fr,sa],16:10/16:55/sr806/[mo,tu,we,th,fr,su]]). timetable(蘇黎士,米蘭,[7:55/8:45/sr620/alldays]).
第一個問題打flight(倫敦,賈納,D,_,_,_).
第二個問題打route(賈納,艾丁堡,th,R).
第三個問題打flight(倫敦,C1,tu,Fn1,Dp1,Ar1),flight(C1,C2,we,Fn2,Dp2,Ar2),flight(C2,C3,th,Fn3,Dp3,Ar3),flight(C3,倫敦,fr,Fn4,Dp4,Ar4),member(C1,[米蘭,賈納,蘇黎士]),member(C2,[米蘭,賈納,蘇黎士]),member(C3,[米蘭,賈納,蘇黎士]),C1\==C2,C2\==C3,C1\==C3.
|
↑回到頂端↑
|
|
|
|
#508058 - 2006-04-17 21:18:09
Re: 請問一下prolog的語法~從航班資料庫中
|
一元復始
|
註冊: 2002-03-24
文章數: 1617
來自: 台北
|
|
您用的prolog軟體是什麼名稱?
_________________________
天步占星
|
↑回到頂端↑
|
|
|
|
#508059 - 2006-04-17 22:36:49
Re: 請問一下prolog的語法~從航班資料庫中
|
潛龍勿用
|
註冊: 2006-04-17
文章數: 8
|
|
是SWI-Prolog 能否麻煩幫我看一下 因為我碰到瓶頸了 謝謝
|
↑回到頂端↑
|
|
|
|
#508060 - 2006-04-18 10:11:57
Re: 請問一下prolog的語法~從航班資料庫中
|
一元復始
|
註冊: 2002-03-24
文章數: 1617
來自: 台北
|
|
請問如何設定SWI-Prolog成為支持中文,我下載5.6.11版,介紹中說明此版有支援UTF8,但我不知如何設定.
_________________________
天步占星
|
↑回到頂端↑
|
|
|
|
#508061 - 2006-04-18 10:17:35
Re: 請問一下prolog的語法~從航班資料庫中
|
潛龍勿用
|
註冊: 2006-04-17
文章數: 8
|
|
我也不熟悉這套軟體 但是我都是用英文 所以不知道有支援中文版
|
↑回到頂端↑
|
|
|
|
#508062 - 2006-04-18 16:31:01
Re: 航班(解答)
|
一元復始
|
註冊: 2002-03-24
文章數: 1617
來自: 台北
|
|
:-op(50,xfy,:). flight(P1,P2,Day,Fln,DepT,ArrT):-timetable(P1,P2,FlL),member(DepT/ArrT/Fln/DayL,FlL),flyday(Day,DayL).
flyday(Day,DayL):-member(Day,DayL). flyday(Day,alldays):-member(Day,[mo,tu,we,th,fr,sa,su]).
route(P1,P2,Day,[P1-P2:Fln:DepT]):-flight(P1,P2,Day,Fln,DepT,_). route(P1,P2,Day,[P1-P3:Fln1:DepT1|R]):- route(P3,P2,Day,R),flight(P1,P3,Day,Fln1,DepT1,ArrT1),deptime(R,DepT2),transfer(ArrT1,DepT2).
deptime([P1-P2:Fln:DepT|_],DepT). transfer(H1:M1,H2:M2):-60*(H2-H1)+M2-M1>=40. %航班資料庫 timetable(艾丁堡,倫敦,[9:40/10:50/ba4733/alldays,13:40/14:50/ba4773/alldays,19:40/20:50/ba4833/[mo,tu,we,th,fr,su]]). timetable(倫敦,艾丁堡,[9:40/10:50/ba4732/alldays,11:40/12:50/ba4752/alldays,18:40/19:50/ba4822/[mo,tu,we,th,fr]]). timetable(倫敦,賈納,[13:20/16:20/ju201/[fr],13:20/16:20/ju213/[su]]). timetable(倫敦,蘇黎士,[9:10/11:45/ba614/alldays,14:45/17:20/sr805/alldays]). timetable(倫敦,米蘭,[8:30/11:20/ba510/alldays,11:00/13:50/az459/alldays]). timetable(賈納,蘇黎士,[11:30/12:40/ju322/[tu,th]]). timetable(賈納,倫敦,[11:10/12:20/ju200/[fr],11:25/12:20/ju212/[su]]). timetable(米蘭,倫敦,[9:10/10:00/az458/alldays,12:20/13:10/ba511/alldays]). timetable(米蘭,蘇黎士,[9:25/10:15/sr621/alldays,12:45/13:35/sr623/alldays]). timetable(蘇黎士,賈納,[13:30/14:40/ju323/[tu,th]]). timetable(蘇黎士,倫敦,[9:00/9:40/ba613/[mo,tu,we,th,fr,sa],16:10/16:55/sr806/[mo,tu,we,th,fr,su]]). timetable(蘇黎士,米蘭,[7:55/8:45/sr620/alldays]).
1.每週那幾天有從倫敦直飛賈納的班機? ?-flight(倫敦,賈納,D,_,_,_). D = fr
2.如何才能在週四從賈納到艾丁堡去? ?-route(賈納,艾丁堡,th,R). R = ['賈納'-'蘇黎士':ju322:11:30, '蘇黎士'-'倫敦':sr806:16:10, '倫敦'-'艾丁堡':ba4822:18:40]
3.遊覽米蘭、賈納、蘇黎士,週二從倫敦出發且在週五回倫敦,一天飛機不能超過一班行程如何安排? ?-flight(倫敦,C1,tu,Fn1,Dp1,Ar1),flight(C1,C2,we,Fn2,Dp2,Ar2),flight(C2,C3,th,Fn3,Dp3,Ar3),flight(C3,倫敦,fr,Fn4,Dp4,Ar4),member(C1,[米蘭,賈納,蘇黎士]),member(C2,[米蘭,賈納,蘇黎士]),member(C3,[米蘭,賈納,蘇黎士]),C1\==C2,C2\==C3,C1\==C3. C1 = '米蘭' Fn1 = ba510 Dp1 = 8:30 Ar1 = 11:20 C2 = '蘇黎士' Fn2 = sr621 Dp2 = 9:25 Ar2 = 10:15 C3 = '賈納' Fn3 = ju323 Dp3 = 13:30 Ar3 = 14:40 Fn4 = ju200 Dp4 = 11:10 Ar4 = 12:20
_________________________
天步占星
|
↑回到頂端↑
|
|
|
|
#508063 - 2006-04-19 21:54:56
8個皇后問題
|
一元復始
|
註冊: 2002-03-24
文章數: 1617
來自: 台北
|
|
代ㄚ弟請張貼問題.
在一個8*8的棋盤上,每一行均有一個皇后西洋棋,請問如何排列這些皇后,才能達成每一行或列或對角線上均只有一個皇后存在。 提示:
程式碼: solution([]). solution([X/Y|Others]):- solution( 1 ),member(Y,[1,2,3,4,5,6,7,8]),noattack(X/Y, 2 ). noattack( 3 ,[]). noattack(X/Y,[X1/Y1|Others]:-Y=\=Y1,Y1-Y=\=X1-X,Y1-Y=\=X-X1,noattack(X/Y, 4 ).
求解打solution([1/Y1,2/Y2,3/Y3,4/Y4,5/Y5,6/Y6,7/Y7,8/Y8]).
_________________________
天步占星
|
↑回到頂端↑
|
|
|
|
#508064 - 2006-04-19 21:58:40
Re: 8個皇后問題(解答)
|
一元復始
|
註冊: 2002-03-24
文章數: 1617
來自: 台北
|
|
solution([]). solution([X/Y | Others]) :- solution(Others), member(Y,[1,2,3,4,5,6,7,8]), nocheck(X/Y, Others). nocheck(_, []). nocheck(X/Y, [X1/Y1 | Others]) :- Y =\= Y1, Y1-Y=\=X1-X,Y1-Y=\=X-X1, nocheck(X/Y, Others).
?- solution([1/Y1,2/Y2,3/Y3,4/Y4,5/Y5,6/Y6,7/Y7,8/Y8]). Y1 = 4 Y2 = 2 Y3 = 7 Y4 = 3 Y5 = 6 Y6 = 8 Y7 = 5 Y8 = 1 ;
Y1 = 5 Y2 = 2 Y3 = 4 Y4 = 7 Y5 = 3 Y6 = 8 Y7 = 6 Y8 = 1 ;
以下從略,此為多解
_________________________
天步占星
|
↑回到頂端↑
|
|
|
|
#508065 - 2006-04-22 23:34:38
關於prolog問題
|
潛龍勿用
|
註冊: 2006-04-17
文章數: 8
|
|
天步版主你好 想請問一下,上次你幫我解的五個村莊問題 是如何解出來的,如果要解釋解出來的步驟該如何講 我友點不明瞭,能否指點一下
另外有一題prolgo的程式怪怪的 我明明已經沒出現錯誤訊息 但是位何執行時會出現錯誤訊息呢? 能否幫我看一下 謝謝
原始程式碼 ngb(italy,[switzerland,france,austria,slovenia,monaco,vatican]). ngb(vatican,[italy]). ngb(monaco,[france,italy]). ngb(france,[monaco,italy,switzerland,liechtenstein,germany,luxembourg,belgium,netherland,spain]). ngb(luxembourg,[france,germany,belgium]). ngb(belgium,[france,luxembourg,germany,netherland]). ngb(netherland,[france,belgium,germany]). ngb(spain,[france,portugal]). ngb(portugal,[spain]). ngb(britain,[ireland]). ngb(ireland,[britain]). ngb(iceland,[]). ngb(malta,[]). colours([]). colours([Country/Colour|Rest]):- colours(Rest),member(******,[yellow,blue,red,green]),not((member(Country1/*****,Rest),neighbour(Country,Country1))). neighbour(County,Country1):-ngb(******,Neighbours),member(******,Neighbours). makelist(L):-collect([germany],[],L). collect([],Closed,Closed). collect([X|Open],Closed,L):-member(X,Closed),!,collect(Open,Closed,L). collect([X|Open],Closed,L):-ngb(X,Ns),append(Ns,Open,Op1),collect(Op1,[X|Closed],L). country(C):-ngb(C,_).
打*是要寫入的部份
解出來的程式碼 ngb(italy,[switzerland,france,austria,slovenia,monaco,vatican]). ngb(vatican,[italy]). ngb(monaco,[france,italy]). ngb(france,[monaco,italy,switzerland,liechtenstein,germany,luxembourg,belgium,netherland,spain]). ngb(luxembourg,[france,germany,belgium]). ngb(belgium,[france,luxembourg,germany,netherland]). ngb(netherland,[france,belgium,germany]). ngb(spain,[france,portugal]). ngb(portugal,[spain]). ngb(britain,[ireland]). ngb(ireland,[britain]). ngb(iceland,[]). ngb(malta,[]). colours([]). colours([Country/colours|Rest]):- colours(Rest),member(X,Closed,[yellow,blue,red,green]),not((member(Country1/X,Closed,Rest),neighbour(Country,Country1))). neighbour(Country,Country):-ngb(X,Neighbours),member(X,colour,Neighbours). makelist(L):-collect([germany],[],L). collect([],Closed,Closed). collect([X|Open],Closed,L):-member(X,Closed),!,collect(Open,Closed,L). collect([X|Open],Closed,L):-ngb(X,Ns),append(Ns,Open,Op1),collect(Op1,[X|Closed],L). country(C):-ngb(C,_).
求解打 setof(Cntry/Colour,country(Cntry),CountryColourList),colours(CountryColourList).
執行後會出現的訊息 ?- setof(Cntry/Colour,country(Cntry),CountryColourList),colours(CountryColourList). ERROR: Undefined procedure: member/3 ERROR: However, there are definitions for: ERROR: member/2 ERROR: member/2 ?-
為何會這樣呢? 能否幫我看一下
|
↑回到頂端↑
|
|
|
|
#508066 - 2006-04-23 15:37:54
Re: 關於prolog問題
|
一元復始
|
註冊: 2002-03-24
文章數: 1617
來自: 台北
|
|
>是如何解出來的,如果要解釋解出來的步驟該如何講 人工智慧語言系統大都內建推理引擎,很難用文字來解釋程式碼.
>明明已經沒出現錯誤訊息,但是為何執行時會出現錯誤訊息呢? 編譯時沒錯誤,不見得就沒問題,因prolog不像C或Java在編譯時會挑出未定義的函示或參數.
>ERROR: Undefined procedure: member/3 您的程式碼member有兩個,一個有二參數,另一個有三參數,並未定義.
_________________________
天步占星
|
↑回到頂端↑
|
|
|
|
#508067 - 2006-06-12 20:16:23
Re: 關於prolog問題
|
潛龍勿用
|
註冊: 2006-04-17
文章數: 8
|
|
請問老師對於裴氏圖熟析嗎
或是老師知道那裡有裴氏圖的資訊可以参考
學生有一個裴氏圖問題,不知能否請老師幫忙看一下 謝謝
以下為我的研究題目 請設計一個裴氏圖說明下圖只有4站捷運的出入口票機控制方式,假設每站與站間定價為10元且只接受悠遊卡(初始值=40元)。
|
↑回到頂端↑
|
|
|
|
#508068 - 2006-06-12 22:06:28
Re: 關於prolog問題
|
一元復始
|
註冊: 2002-03-24
文章數: 1617
來自: 台北
|
|
我不瞭解這個題目,可先舉例說明看看.
_________________________
天步占星
|
↑回到頂端↑
|
|
|
|
#508069 - 2006-06-12 22:57:23
Re: 關於prolog問題
|
潛龍勿用
|
註冊: 2006-04-17
文章數: 8
|
|
以下為我的研究題目 請設計一個裴氏圖(Petri Net)說明下圖只有4站捷運的出入口票機控制方式,假設每站與站間定價為10元且只接受悠遊卡(初始值=40元)。 圖形部份 我已經寄到老師的 [email protected] 信箱了 不知是否有收到 如果老師知道如何解題 能否將解題寄到我的信箱謝謝 [email protected]或試哪裡可以有類似的参考題目 都歡迎老師指點一下學生 我都找不到類似題目可以参考 傷腦筋
|
↑回到頂端↑
|
|
|
|
#508070 - 2006-06-14 23:46:06
Re: 關於prolog問題
|
潛龍勿用
|
註冊: 2006-04-17
文章數: 8
|
|
請問天步老師不知有答案了嗎? 還是哪裡可以有参考答案 能否告知謝謝
|
↑回到頂端↑
|
|
|
|
#508072 - 2006-06-17 11:40:10
Re: 關於prolog問題
|
潛龍勿用
|
註冊: 2006-04-17
文章數: 8
|
|
|
↑回到頂端↑
|
|
|
|
#508073 - 2007-03-15 23:46:36
人工智慧-結婚預測
|
一元復始
|
註冊: 2002-03-24
文章數: 1617
來自: 台北
|
|
論命常常被問到何時結婚? 在果老星宗有些星象可測論何時結婚,如男行財度,女行官度,日月頂限,夫(妻)星前迎等,但要一一逐年比對星曆太過繁瑣,藉由人工智慧版的功能,由電腦自行比對,幾秒內即可取得結果,部分程式如下:
結婚預測:-歲限(Y,M,_,_,_),Y>15,Y<55,殿(M,X1),宮(妻,_,X2),前後星(X2,X1),顯示([Y,'歲',M,'宿夫妻星',X2,'前迎 ']),換行,多解.
結婚預測:-性別(女),歲限(Y,M,_,_,_),Y>15,Y<95,殿(M,X1),前後星(日,X1),顯示([Y,'歲',M,'宿日在前 ']),換行,多解.
結婚預測:-性別(女),歲限(Y,M,_,_,_),Y>15,Y<95,殿(M,X1),星曜(度主,X2),剋(X1,X2),顯示([Y,'歲',M,'宿行官度 ']),換行,多解.
結婚預測:-歲限(Y,M,_,_,_),Y>15,Y<95,宮(妻,_,X2),星(X2,M,_,_,_,_),顯示([Y,'歲',M,'宿夫妻星',X2,'頂限 ']),換行,多解.
結果範例: 周星馳何時結婚?
32歲胃宿行財度 33歲胃宿行財度 34歲胃宿行財度 35歲胃宿行財度 36歲胃宿行財度 37歲胃宿行財度 64歲女宿行財度 64歲女宿月明頂 65歲女宿月明頂 65歲女宿行財度 66歲女宿月明頂 66歲女宿行財度 67歲女宿月明頂 67歲女宿行財度
_________________________
天步占星
|
↑回到頂端↑
|
|
|
|
6 線上使用者 (愛因斯坦, 5 隱形),
152
Guests and
48
Spiders online. |
Key:
Admin,
Global Mod,
Mod
|
|
81737 使用者
54 討論區
220783 議題
2140943 文章
最高線上使用者: 1162 @ 2018-05-29 02:51:45
|
|
|